关于用iframe做隐藏帧实现异步请求

lioshey 2015-10-20 06:57:58
我的浏览器是chrome,
那个hiddenFrame是一个iframe的名字,然后调用那个iframe的页面的一个函数,
然后下面的代码运行到第五行要获得iframe的window的时候就不行了,求指导 啊

function
oninputs(obj){

var how=document.getElementById('pat').value;

var content=obj.value;
if(window.frames["hiddenFrame"]==null)top.alert(how+"hhhh"+content);
window.frames["hiddenFrame"].ajaxrequest(content,how);

}
...全文
183 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lioshey 2015-10-21
  • 打赏
  • 举报
回复
我找到原因了,因为我的隐藏帧是个jsp,里面有个代码需要从服务器获取一个值,如果那个值为空的话这个页面就会不断向服务器提出请求,所以那错误的java代码导致我整个页面都出错了,之前我没注意看myeclipse的控制台,后来一行行看自己的代码发现复制过来的东西不兼容。然后chrome的问题也解决了,感谢showbo大神
lioshey 2015-10-21
  • 打赏
  • 举报
回复
引用 4 楼 gy127132060 的回复:
top是啥???没定义的变量???
top 就是顶层window,这个没有问题,那句话也成功地alert出来了
lioshey 2015-10-21
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
[quote=引用 2 楼 lioshey 的回复:] 我设置了 [quote=引用 1 楼 showbo 的回复:] 发布网站后再测试,要不chrome file协议浏览iframe和父页不能相互访问,会跨域 chrome本地测试访问iframe,parent,opener null解决办法
我试过 添加--disable-web-security命令 然后可以得到iframe的window对象了,也可以直接对它的document进行操作,但是却没办法操作函数,也就是说现在我只能操作被引用的iframe的innerHTML,js函数完全不会响应 比如下面的: //被调用的iframe的函数 function showinfo() { window.parent.alert("dd"); } //调用者的函数 function(){ var h=window.frames["hiddenFrame"]; h.showinfo(); } 是不是我的方法有问题? [/quote] chrome版本 38.0.2125.104没有问题。。自己f12看下报什么错误[/quote] 。。。刚刚看了一下console,发现它识别不了我的函数: Uncaught TypeError: h.showinfo is not a function 但是我觉得写法没错啊: <script type="text/javascript"> function showinfo() { window.parent.alert("dd"); } </script> 已经看不懂了。。。
香蕉猪 2015-10-21
  • 打赏
  • 举报
回复
top是啥???没定义的变量???
Go 旅城通票 2015-10-21
  • 打赏
  • 举报
回复
引用 2 楼 lioshey 的回复:
我设置了 [quote=引用 1 楼 showbo 的回复:] 发布网站后再测试,要不chrome file协议浏览iframe和父页不能相互访问,会跨域 chrome本地测试访问iframe,parent,opener null解决办法
我试过 添加--disable-web-security命令 然后可以得到iframe的window对象了,也可以直接对它的document进行操作,但是却没办法操作函数,也就是说现在我只能操作被引用的iframe的innerHTML,js函数完全不会响应 比如下面的: //被调用的iframe的函数 function showinfo() { window.parent.alert("dd"); } //调用者的函数 function(){ var h=window.frames["hiddenFrame"]; h.showinfo(); } 是不是我的方法有问题? [/quote] chrome版本 38.0.2125.104没有问题。。自己f12看下报什么错误
lioshey 2015-10-21
  • 打赏
  • 举报
回复
我设置了
引用 1 楼 showbo 的回复:
发布网站后再测试,要不chrome file协议浏览iframe和父页不能相互访问,会跨域 chrome本地测试访问iframe,parent,opener null解决办法
我试过 添加--disable-web-security命令 然后可以得到iframe的window对象了,也可以直接对它的document进行操作,但是却没办法操作函数,也就是说现在我只能操作被引用的iframe的innerHTML,js函数完全不会响应 比如下面的: //被调用的iframe的函数 function showinfo() { window.parent.alert("dd"); } //调用者的函数 function(){ var h=window.frames["hiddenFrame"]; h.showinfo(); } 是不是我的方法有问题?
Go 旅城通票 2015-10-20
  • 打赏
  • 举报
回复
发布网站后再测试,要不chrome file协议浏览iframe和父页不能相互访问,会跨域 chrome本地测试访问iframe,parent,opener null解决办法

87,955

社区成员

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

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