【问题标题】:Cant we get location of iframe which has navigated to external site? [closed]我们不能获得导航到外部站点的 iframe 的位置吗? [关闭]
【发布时间】:2023-04-01 18:32:01
【问题描述】:

我有一个 iframe ,用户导航到该 iframe 中外部网站的某个位置。现在我有一个按钮,单击时会告诉该站点的位置(使用 .location.href),但它会发出未定义的警报?我的网站是 ideone.com。我怎样才能得到它的当前网址?任何更正或替代?

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    由于same-origin policy,您无法从iframe 访问任何信息,该iframe 的位置设置为与父域不同的域。

    如果您查看浏览器的控制台 (F12),您可能会看到与此类似的错误(此错误来自 Chrome)

    不安全的 JavaScript 尝试使用 URL 访问框架 http://othersite.com/ 来自带有 URL 的框架 http://yoursite.com。域、协议和 端口必须匹配。

    【讨论】:

      【解决方案2】:

      我认为您需要访问 iframe 的window,根据this answer,您应该可以通过:

      document.getElementById('myframe').contentWindow.location.href
      

      当然,可以根据需要获取对 iframe 的引用,因为密钥是 .contentWindow。但是,正如该链接所示,如果它是另一个域,那么同源策略会阻止您获取 window 引用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多