【问题标题】:Permission denied to call method Location.toString调用方法 Location.toString 的权限被拒绝
【发布时间】:2010-10-28 11:59:23
【问题描述】:

我正在使用 YUI,

有时我会看到这个“Permission denied to call method Location.toString”错误,

在connection.js中报告,

我还没有找到任何线索为什么会发生此错误。

很奇怪

【问题讨论】:

  • 也许如果一个框架试图从不同的域读取另一个框架的内容(或位置),你会得到一个权限被拒绝。

标签: javascript yui


【解决方案1】:

您好,我已经回答了一个类似的问题

why/where the error “Permission denied for to call method Location.toString”.

这是由萤火虫在您的控制台中显示来自其他窗口的错误引起的。简而言之,这些错误可能与您的代码无关。

如果你想测试这个理论,你可以在 firebug 中关闭所有其他窗口,清除你的控制台并只测试你的站点。

【讨论】:

  • 给定的链接已损坏。
  • 似乎如果您单击链接的第一部分,它会将您带到正确的 stackoverflow 线程,如果您单击 http:// 之后的第二部分,它会链接到 ad.yieldmanager.com
【解决方案2】:

如果您通过跨域 iframe 处理任何 Flash,那么您很可能会在 Adob​​e 的 Flash Player 中看到 FF2 和 FF3 出现的错误。

该错误位于 Adob​​e 的公共 JIRA 中:http://bugs.adobe.com/jira/browse/FP-561

不幸的是,似乎没有动力去修复它。

【讨论】:

    【解决方案3】:

    您是否偶然在 Firebug 中看到了这一点?

    在将 jQuery 添加到我的网站后,我在 Firefox 中时断时续地得到了同样的结果。我正在从另一个站点(完全不同的域)调用 jQuery js,我认为这与从 Google 的服务器调用它没有太大不同。

    目前我还没有使用 jQuery 的代码。而且,虽然 Firebug 将此报告为错误,但它并非一直如此。当我打开它时,我在 IE 中没有看到任何错误。

    虽然涉及不同的库,但我的猜测是 Firebug 正在生成误报。

    现在,如果您在看到此内容时没有使用 Firebug……您是否使用托管在您自己的服务器上的 YUI?你使用的是什么浏览器?等等。

    ~詹姆斯

    【讨论】:

      【解决方案4】:

      如果脚本是从不同的域执行的,或者您试图访问不同域的框架/窗口/iframe 的内容,您将看到此错误。 Safari 的行为有点不同,至少在 v1-2 时代 (iirc),因此您可能也想在其中进行测试。

      如果您通过不同的域包含脚本,则需要确保您的实际触发器/事件被绑定并从内联脚本执行,或者从与您的 html 相同的域加载的脚本文件中执行以获得最佳结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-04
        • 2010-09-07
        • 1970-01-01
        • 2014-03-31
        • 1970-01-01
        • 2022-11-05
        • 2015-08-30
        相关资源
        最近更新 更多