是否可以在我的网站和其中的跨域iframe之间找到并比较一些文本字符串?
假设我有:

<html>
<body>
<div><p>hello world</p></div>
<iframe><html><body><div><p>hello world</p></div></body></html>
</body>
</html>


是否有可能建立一种查找和比较算法,以便能够检查我网站上的文字并将其与跨域iframe中的文字进行比较?我应该要求使用postmessage还是在浏览器屏幕内进行简单的文本查找和比较方面更简单的方法?

最佳答案

如果域不同,则在一帧中运行的Javascript函数将无法访问另一帧的DOM。您需要在两个框架中加载相同的方法。一种实现方法是在两个框架中加载find / compare JS函数,然后在一个框架中调用它。在当前帧中找到密钥后,然后通过postMessage发送事件以在iframe中调用相同的函数。如果还在iframe中找到相同的密钥,则可以对找到该密钥的父框架执行postMessage

但是,如果域相同,则可以通过jQuery访问iframe的DOM,例如:

var iframeElementContents = $("#yourIFrame").contents();


现在,您可以在此元素上运行JS函数。

关于javascript - 在跨域iframe中查找文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27654892/

10-09 18:02
查看更多