用attachEvent绑定的onload事件为什么没有触发?

yuaa88 2011-12-30 10:43:09
想实现一个功能,即用window.open打开一个新窗口,对这个新窗口绑定onload事件,然后通过form.submit().提交一些数据过去,但是试了好多次绑定的onload事件无效,不知道哪里有问题,问下各位js大虾哪里有问题,源代码如下:


function aaa(url){

newwin=window.open(url,"newwin");
newwin.moveTo(0,0);
newwin.focus();

newwin.attachEvent("onload",function(){
newwin.print();
setTimeout("newwin.close()",5000);
});

form99.target="newwin";
form99.action=url;
form99.submit();

}

...全文
221 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuaa88 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 axiheyhey 的回复:]

引用 2 楼 yuaa88 的回复:

但是好像把form99提交的那三句语句注释掉,newwin窗口是能触发onload事件的??
好像?你用的什么浏览器?
[/Quote]
ie8试的,呵呵
峭沙 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuaa88 的回复:]

但是好像把form99提交的那三句语句注释掉,newwin窗口是能触发onload事件的??
[/Quote]好像?你用的什么浏览器?
yuaa88 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 axiheyhey 的回复:]

这是权限问题,事件只能在窗口内部绑定
[/Quote]
问下有什么相关文档链接吗?
yuaa88 2011-12-30
  • 打赏
  • 举报
回复
顶一下,求解答~~
yuaa88 2011-12-30
  • 打赏
  • 举报
回复
是啊,所以不太理解,有谁能帮助测试下,想知道问题出在什么地方?
三石-gary 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yuaa88 的回复:]

但是好像把form99提交的那三句语句注释掉,newwin窗口是能触发onload事件的??
[/Quote]
这样的话。。那上面就应该没有什么问题啊。。下面语句对上面又没什么影响
yuaa88 2011-12-30
  • 打赏
  • 举报
回复
但是好像把form99提交的那三句语句注释掉,newwin窗口是能触发onload事件的??
峭沙 2011-12-30
  • 打赏
  • 举报
回复
这是权限问题,事件只能在窗口内部绑定
dongxiaolei 2011-12-30
  • 打赏
  • 举报
回复
用IE调试一下、、、
yuaa88 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 axiheyhey 的回复:]

引用 8 楼 yuaa88 的回复:

引用 7 楼 axiheyhey 的回复:

引用 2 楼 yuaa88 的回复:

但是好像把form99提交的那三句语句注释掉,newwin窗口是能触发onload事件的??
好像?你用的什么浏览器?

ie8试的,呵呵
我的ie8怎么不会触发?你的newwin打开的页面本身就有onload吧?
[/Quote]

目标url页面是没有onload句柄的,而且在A页面绑定事件后,打开B也页面只触发一次事件,刷新后不再出发了,这点也没搞懂,楼上的attachEvent在IE下用我知道的,现在在做测试,谢谢,我翻了下JS权威指南,只看到相关关于域安全JS调用的规则,域外不能访问,关于不同页面JS调用只读不能写的规则我要不再去试试,权威指南上没找到~~
南老頭 2011-12-30
  • 打赏
  • 举报
回复
楼主还需要注意一个问题, attachEvent 这个方法只在IE下面用的, 别的浏览器不是这么写的,用的是监听器, 检查下吧,
峭沙 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yuaa88 的回复:]

引用 7 楼 axiheyhey 的回复:

引用 2 楼 yuaa88 的回复:

但是好像把form99提交的那三句语句注释掉,newwin窗口是能触发onload事件的??
好像?你用的什么浏览器?

ie8试的,呵呵
[/Quote]我的ie8怎么不会触发?你的newwin打开的页面本身就有onload吧?
峭沙 2011-12-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yuaa88 的回复:]

引用 1 楼 axiheyhey 的回复:

这是权限问题,事件只能在窗口内部绑定

问下有什么相关文档链接吗?
[/Quote]窗口之间的操作只能读,不能写。换句话说,比如A页面通过链接或js打开一个新页面B,则A只能获取B的一些dom元素的引用,以及js变量,函数的引用,当然还可以调用这个函数。而不能往B里面写入东西,包括插入dom元素,绑定事件处理函数等

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧