可能重复:
Can javascript access iframe elements from the parent page?
我的文档中有一个iframe,我想用JQuery获取(并更改)其中的一些属性。这是代码:
var iframe = $('iframe');
$("#id").click(function() {
var btn = iframe.contents().find('a[href*="script.php"]');
alert(btn);
for (var i=0, attrs=btn.attributes, l=attrs.length; i<l; i++){
alert(attrs.item(i).nodeName);
}
});
第一个警告说“[object Object]”,然后我收到错误:
不安全的JavaScript尝试使用URL访问框架 来自带框架的框架http://somedomain.ru/somescript.php http://domain.wia-games.net/。域,协议和端口必须匹配。
和
未捕获的TypeError:无法读取未定义的属性“长度”
我该如何解决这个问题?
UPD。 的console.log(BTN):
[prevObject:st.fn.st.init [0],context:document,selector: “a [href * =”script.php“]”,jquery:“1.9.0”,构造函数:function ...] context:#document length:0 prevObject:st.fn.st.init [0] selector: “一个[HREF * =” script.php的 “]” proto :对象[0]
答案 0 :(得分:2)
出于安全原因,这是在浏览器上实施的约束:Same origin policy
存在安全的解决方法:
答案 1 :(得分:1)
大多数浏览器作为安全功能禁止跨站点脚本: http://en.wikipedia.org/wiki/Cross-site_scripting
这意味着两个对象必须具有相同的源域。
作为一种解决方法,您可能希望在服务器端查询外部页面(例如,使用php)