<script language="javascript" type="text/javascript" src="sea.js" data-
main="init"></script>
</body>
</html>
init.js页面内容:
define(function(require,exports,module) {
function setValue(a,b) {
......
}
exports.setValue = setValue;
});
iframe.html页面内容:
<html>
<body>
......
<script language="javascript" type="text/javascript" src="sea.js" data-
main="iframeInit"></script>
</body>
</html>
iframeInit.js页面内容:
define(function(require,exports,module) {
var a=0;
var b=1;
var myFun = require("init");
myFun.setValue(a,b);//不执行
});
On 8月18日, 下午8时36分, Tomas Huang (冠) <huangguan3112...@gmail.com> wrote:
> 这种方法本身的调用逻辑就是耦合的,维护成本比消息机制还多。
> 比如父窗体中的函数签名要发生变化了
> 不用消息机制:维护父窗体中的代码和子窗体的代码
> 消息机制:只维护父窗体的代码,可能不需要维护自创题代码
>
> 至于污染,只是你看得见和看不见的问题
>
> 在 2011年8月18日 下午5:41,Asins Asins <asinsim...@gmail.com>写道:
>
>
>
>
>
>
>
>
>
> > 在模块内部使用top.XXX的方式我认为是相当恶劣的解决方案,一来污染了全局window,二来增加了维护的难度。
>
> > 因为没有域的问题,所以我认为与父页面使用同一份seajs是更优的方案,不管从维护上以及可读性上都更好!
>
> > 同时也加大的模块的复用的可能性!
>
> > window.top.seajs.use('./iframeInit', function(){
> > // do samething
> > });
>
> > 在 2011年8月18日 下午5:14,Tomas Huang (冠) <huangguan3112...@gmail.com>写道:
>
> > 感觉父页面iframe中的js脚本这种思路本身就有问题,当然有时候确实没办法。
> >> 如果你的客户群体都是webkit的话,可以尝试html5的postmessage功能。
>
> >> 在 2011年8月18日 上午12:47,mashihua <mashi...@gmail.com>写道:
>
> >> 按我的理解是,你必须在父window上输出命名空间或函数,比如:
>
> >>> seajs.use('init',function(a){
> >>> window.setValue = a.setValue;
> >>> });
>
> >>> 引用module的一条概念是让模块在沙盒里运行,使模块里的函数不至于影响外部环境。iframe要调用父window里的代码,只能是在父window上输 出命名空间或函数,在iframe里调用输出的命名空间或函数。
> >>> mashi...@gmail.com <beijing.j...@gmail.com>
> >>> Chat
>
> >>> mashihua shihua.ma
> >>> <http://shihua.ma/>Contact Me <http://my.wisestamp.com/link?u=759bmcbnc2ywqsdk&site=twitter.com/mash...><http://my.wisestamp.com/link?u=759bmcbnc2ywqsdk&site=twitter.com/mash...><http://my.wisestamp.com/link?u=759bmcbnc2ywqsdk&site=www.facebook.com...>
>
> >>> <http://my.wisestamp.com/link?u=759bmcbnc2ywqsdk&site=www.google.com/r...>
> >>> <http://my.wisestamp.com/link?u=759bmcbnc2ywqsdk&site=www.google.com/r...>
>
> >> --
> >> *Name*: Tomas Huang(黄冠)
> >> *Nick*: 青山老妖
> >> *Position*: WEIMA SOFTWARE DESIGN CO.SHA Co-founder
> >> *Email*: huangguan3112...@gmail.com
> >> *Sina Micro Blog*:http://t.sina.com.cn/showpower(青山老妖_黄冠)
> >> *Twitter*: runawaygo
> >> ------
> >> 互联网创业者,理想主义者,敏捷实践,HTML5,软件工程师,非专业产品设计师
>
> > --
> > Asins
> > 简单其实不简单
> >http://nootn.com
>
> --
> *Name*: Tomas Huang(黄冠)
> *Nick*: 青山老妖
> *Position*: WEIMA SOFTWARE DESIGN CO.SHA Co-founder
> *Email*: huangguan3112...@gmail.com
> *Sina Micro Blog*:http://t.sina.com.cn/showpower(青山老妖_黄冠)
> *Twitter*: runawaygo
> ------
> 互联网创业者,理想主义者,敏捷实践,HTML5,软件工程师,非专业产品设计师
>
> gtalk.png
> 1K查看下载
>
> facebook.png
> < 1K查看下载
>
> skype.png
> 4K查看下载
>
> googlereader.png
> 1K查看下载
>
> twitter.png
> < 1K查看下载
简单,粗暴,实用。
提个醒:注意判空