是否可以检查iframe中是否存在元素?我知道由于同源政策,不可能在外国主机上操纵某些东西。但是如果我只是想知道一个元素是否存在呢?
<body id="parent">
<iframe src="foreign host">
<span id="exist">
Yes, Yes. I'am here.
</span>
</iframe>
</body>
我试图用jquery来解决这个问题:
$('iframe:first').contents().find('#exist').length throws out a
拒绝访问属性'ownerDocument'错误的权限
我不想改变外国文件中的内容。所以没有危险。为什么会被拒绝?
还有其他办法吗?
答案 0 :(得分:2)
很抱歉,但同源政策不允许这样做,因为您可以阅读其他域上的个人信息,或者只是嵌入完整的文档iframe进行网络钓鱼。
还有其他解决方案:
如果它在同一个域中,任何其他评论都可以帮助您。
答案 1 :(得分:0)
您应该为iframe代码分配ID,如下所示:
<iframe src="blah.html" id="blah"></iframe>
然后您可以通过执行以下操作在jQuery中引用iframe:
var iframe = $("#blah");
完成后,您可以使用刚刚创建的iframe var上的contents()函数来访问其DOM。