2007-07-16
[讨论]如何在子页面重用javascript?
在使用一些js框架时,如果每一个页面都要重新下载一遍javascript文件,那绝对是很浪费的一件事。
如果是一些简单的函数,可以直接在子框架中使用 parent.fun 进行调用,可对于一些框架如extjs,这种方法往往不能奏效,有什么其他方法可以解决吗,一些网上的意见如下:
1 子页面使用iframe或frame,父页面把javascript和css 注入 子页面。
http://extjs.com/forum/showthread.php?t=1201
另一种方式是在子页面使用iframe或frame,父页面将所有javascript以 inline 的方式写入,子页面在打开时先将父页面中的javascript引入。
http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/
2 子页面使用div,在打开以后先执行子页面中的javascript。
http://extjs.com/forum/showthread.php?t=5712
3 缓存javascript
不知道各位在开发中遇到这种情况是怎么处理的,或者对以上实现方式的优劣有什么看法?多谢!
评论
hax
2007-07-30
caryl 写道
我用firebug观察net的情况,如果是同一个界面,刷新的时候确实是调用的缓存中的,而如果不是同一个url,则显示重新load了一次,不过看消耗的时间少了一些。
所以对这个问题还不是太明白。
所以对这个问题还不是太明白。
同一个url,可能被缓存,但是也可能不缓存。但是脚本仍旧需要重新解析和运行,对象都又产生了一份。
还有你看到消耗的时间,跟这个没有关系。
caryl
2007-07-30
我用firebug观察net的情况,如果是同一个界面,刷新的时候确实是调用的缓存中的,而如果不是同一个url,则显示重新load了一次,不过看消耗的时间少了一些。
所以对这个问题还不是太明白。
所以对这个问题还不是太明白。
s79
2007-07-29
用户的浏览器在第一次访问http://xxx/xxx.js时已经做了cache,在其他页面调用该文件时会从缓存中取,不必再做cache和研究重用的问题。
如果一个页面有访问另一个页面的权限,也可以调用其中的script。
如果一个页面有访问另一个页面的权限,也可以调用其中的script。
lonelyblue
2007-07-27
有没有关于这几种方式的性能测试数据呢?
caryl
2007-07-16
hax 写道
子页面里:
with (window.top) {
...
}
with (window.top) {
...
}
这种方式跟
Ext = parent.Ext;
效果应该是一样的吧,对于简单的函数是可以的,对extjs 等就不行了。
HexUzHoNG
2007-07-16
在子页面
if (typeof(top.somescript) != "undefined") {
} else if (typeof(opener.somescript) != "undefined") {
} else if (typeof(parent.somescript) != "undefined") {
}
eval();
if (typeof(top.somescript) != "undefined") {
} else if (typeof(opener.somescript) != "undefined") {
} else if (typeof(parent.somescript) != "undefined") {
}
eval();
hax
2007-07-16
子页面里:
with (window.top) {
...
}
with (window.top) {
...
}
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 3842 次
- 性别:

- 来自: 青岛

- 详细资料
搜索本博客
最新评论
-
磨快linux下免费的小刀- ...
楼主3,4步给的网站都上不去,能不能一起打包发上来呢?谢谢
-- by hustKiwi -
磨快linux下免费的小刀- ...
googlepages上的几个附件都没法下载啊,谁能帮忙上传一下?谢谢。
-- by iceboundrock -
磨快linux下免费的小刀- ...
感觉rails.vim也挺好的
-- by PBFox -
磨快linux下免费的小刀- ...
自动关闭的问题可能是flash的缘故,反正我一装上adobe的flash就有这种 ...
-- by terranhao -
磨快linux下免费的小刀- ...
有没有人用Emacs+JDE做Java Web的?怎么用JDB调试Web应用阿?
-- by lululau






评论排行榜