浏览 5539 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-16
在使用一些js框架时,如果每一个页面都要重新下载一遍javascript文件,那绝对是很浪费的一件事。 如果是一些简单的函数,可以直接在子框架中使用 parent.fun 进行调用,可对于一些框架如extjs,这种方法往往不能奏效,有什么其他方法可以解决吗,一些网上的意见如下: 1 子页面使用iframe或frame,父页面把javascript和css 注入 子页面。 另一种方式是在子页面使用iframe或frame,父页面将所有javascript以 inline 的方式写入,子页面在打开时先将父页面中的javascript引入。 2 子页面使用div,在打开以后先执行子页面中的javascript。 3 缓存javascript 不知道各位在开发中遇到这种情况是怎么处理的,或者对以上实现方式的优劣有什么看法?多谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-07-16
子页面里:
with (window.top) { ... } |
|
返回顶楼 | |
发表时间:2007-07-16
在子页面
if (typeof(top.somescript) != "undefined") { } else if (typeof(opener.somescript) != "undefined") { } else if (typeof(parent.somescript) != "undefined") { } eval(); |
|
返回顶楼 | |
发表时间:2007-07-16
hax 写道 子页面里:
with (window.top) { ... } 这种方式跟 Ext = parent.Ext; 效果应该是一样的吧,对于简单的函数是可以的,对extjs 等就不行了。 |
|
返回顶楼 | |
发表时间:2007-07-27
有没有关于这几种方式的性能测试数据呢?
|
|
返回顶楼 | |
发表时间:2007-07-29
用户的浏览器在第一次访问http://xxx/xxx.js时已经做了cache,在其他页面调用该文件时会从缓存中取,不必再做cache和研究重用的问题。
如果一个页面有访问另一个页面的权限,也可以调用其中的script。 |
|
返回顶楼 | |
发表时间:2007-07-30
我用firebug观察net的情况,如果是同一个界面,刷新的时候确实是调用的缓存中的,而如果不是同一个url,则显示重新load了一次,不过看消耗的时间少了一些。
所以对这个问题还不是太明白。 |
|
返回顶楼 | |
发表时间:2007-07-30
caryl 写道 我用firebug观察net的情况,如果是同一个界面,刷新的时候确实是调用的缓存中的,而如果不是同一个url,则显示重新load了一次,不过看消耗的时间少了一些。
所以对这个问题还不是太明白。 同一个url,可能被缓存,但是也可能不缓存。但是脚本仍旧需要重新解析和运行,对象都又产生了一份。 还有你看到消耗的时间,跟这个没有关系。 |
|
返回顶楼 | |