我可以找到并比较我的网站和其中的跨域iframe之间的一些文本字符串吗? 假设我有:
<html>
<body>
<div><p>hello world</p></div>
<iframe><html><body><div><p>hello world</p></div></body></html>
</body>
</html>
是否可以构建一个查找和比较算法,该算法能够检查我网站上的文本并将其与跨域iframe中的文本进行比较?我是否需要使用postmessage
或者只是简单地在浏览器屏幕内查找和比较一些文本?
答案 0 :(得分:1)
如果域不同,在一个帧中运行的Javascript函数将无法访问其他帧的DOM。您需要在两个框架中加载相同的方法。一种方法是在两个帧中加载查找/比较JS函数,然后在一帧中调用它。一旦在当前帧中找到密钥,然后通过postMessage
,发送事件以调用iframe中的相同功能。如果在iframe中也找到了相同的密钥,那么您可以postMessage
对已找到密钥的父框架执行此操作。
但是,如果域名相同,那么您可以通过jQuery访问iframe的DOM,如:
var iframeElementContents = $("#yourIFrame").contents();
现在你可以在这个元素上运行你的JS函数了。