Dojo Cache
来源:互联网 发布:花样字体软件下载 编辑:程序博客网 时间:2024/04/28 12:02
分析 Dojo 源代码时遇到 Cache, 以及pendingCacheInsert不是很理解,在Dojo官方网站找到这篇文章。 http://dojotoolkit.org/reference-guide/1.7/dojo/cache.html.
Dojo Cache 是通过getter 和 setter方法 获取和存储模块和指定URL相关的字符串。 这种存取方法已经被dojo/text!插件替代。写这篇文档主要作用是为了给 1.4 版本的用户。
介绍
许多时会你想要将原始的HTML 注入到DOM里。 但大部分时间你只能在Javascript里, 以字符串的形式输写HTML.
dojo.cache 允许你指定一个含有HTML文件的路径。 之后dojo.cache将调用XMLHttpRequest(XHR) 以同步的方式加载这个文件。 因为 XHR的方法,只能加载同域下的html页面。
Dojo 编译系统会在调用了dojo.cache的地方将HTML内联为字符串。 因此为了更好的性通,最好做Dojo编译. 编译也允许模块的跨域加载。
使用
dojo.cache 是Dojo的核心模块。 在你的页面中包含Dojo Cache, 需要先加载Dojo.cache模块。 当你使用dojo 1.7时,你应该请求 djojo/text.js, 因为定义在dojo/cache.js 相关的功能已经移动到text.js里面。
// Dojo 1.7 (AMD)require("dojo/text", function(){ // write your code here});
// Dojo < 1.7dojo.require("dojo.cache");dojo.cache 采用以下的参数
dojo.cache(module, url, configValue);
举例
// Dojo 1.7 (AMD)require("dojo/text", function(){ var text = dojo.cache("my.module", "template.html");});
// Dojo 1.7dojo.require("dojo.cache");var text = dojo.cache("my.module", "template.html");如果 "my/module/template.html" 包含 "<div>Hello World</div>", 则 text变量将被设置为这个值。
以下是使用 sanitize: true选项的例子:
// Dojo 1.7 (AMD)require("dojo/text", function(){ var text = dojo.cache("my.module", "template.html", {sanitize: true});});
// Dojo < 1.7dojo.require("dojo.cache");var text = dojo.cache("my.module", "template.html");
如果 my/module/template.html 包含 "<html><body><h1>Hello</h1></body></html>", 则 text变量将只会包含"<h1>Hello</h1>".
在举一个使用对象的例子,效果跟之前的一样。 但是使用对像的toString()方法代表文件的路径。
// Dojo 1.7 (AMD)require("dojo/text", function(){ var text = dojo.cache(new dojo._Url("my/module/template.html"), {sanitize: true});});
dojo.require("dojo.cache");var text = dojo.cache(new dojo._Url("my/module/template.html"), {sanitize: true});
获得更详细的信息,请查看
- dojo/text!
- dojo.require
0 0
- Dojo Cache
- dojo
- dojo
- Dojo
- dojo
- dojo
- dojo
- cache
- cache
- Cache
- cache
- Cache
- Cache
- Cache
- Cache
- cache
- cache
- cache
- 练习:字符串中字符出现次数
- ArcGIS For JavaScript API Overview Map(鹰眼/概览图) ————(二十五)
- 奶茶妹妹且行且珍惜 父女恋真的有未来吗?
- jquery操作下拉列表select
- windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
- Dojo Cache
- oracle下批量修改表所在的表空间
- iOS网络编程同步GET方法请求编程
- Java 文件简单复制操作
- 加载fragment的error问题
- 更换Eclipse或者MyEclipse中SVN插件已经保存的账号密码
- 只为黄陈晨变得勇敢
- Android学习小Demo(17)关于ViewPager和Fragment的使用
- linux网络基础之路由器远程配置和更新