1

这可能是一个很长的镜头,但我想知道是否有人知道是否有办法检测(使用 Javascript 或 JQuery)如果 iframe 源已更改 - 即:如果用户更改 iframe 中的页面。

我想写一些类似的东西:

if (iframesource == http://www.site.com/urlA){
do something
}

else if (iframesource == http://www.site.com/urlB){
do something different
}

我已经知道 iframe 元素 ( <iframe src="http://www.site.com">) 的 src 属性如果页面在站点内发生更改,则不会更改,因此使用 JQuery 来检测该属性已失效。

有人知道这是否可能吗?任何建议将不胜感激!谢谢

4

2 回答 2

4

好的,基本上经过大量研究后,我发现这仅在 iframe 指向您现有站点或服务器中的 URL 时才有效。如果您指向另一个网站(例如 YouTube),它将无法正常工作。

将信息从一个站点传输到另一个站点的最佳方式仍然是使用 JSON。

于 2012-07-05T00:10:11.507 回答
0

您将需要构建一个执行以下操作的 javascript 函数:

  1. 负载。
  2. 通过元素 id 获取 src 值。
  3. 将此传递给 temp_object
  4. 输入带有 set_timeout(100ms) 的递归函数。
  5. 将 temp_object 与对象进行比较。
  6. 如果为真,做点什么,temp_object = object。

@EDIT -----> anti-sop anti-xss

<html>
    <head>
        <script type="text/javascript">
                function GetIFrameUrl()
                {
                        alert('url = ' + document.frames['frame1'].location.href);
                }
        </script>
    </head>
    <body>
        <a href="#" onclick="GetIFrameUrl();">Find the iFrame URL</a>
        <iframe name="frame1" src="http://www.google.com" width="100%" height="400"></iframe>
    </body>
</html>

使用 JQuery 获取 Iframe 的当前 src

于 2012-07-04T04:28:30.597 回答