【问题标题】:HTML/JavaScript Script Injection ExceptionHTML/JavaScript 脚本注入异常
【发布时间】:2014-07-10 09:07:59
【问题描述】:

我尝试编写一个依赖于另一个脚本的书签。为此,我的书签包含这样的功能:

function load(url, callback) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    script.async = false;
    script.onload = callback;
    document.head.appendChild(script);
}

在大多数页面上都会调用回调函数,但在某些页面上,我在控制台中收到以下异常并且未加载脚本(facebook.com 就是一个示例)。

组件返回失败码:0x80040111 (NS_ERROR_NOT_AVAILABLE)

一个小书签的例子:

javascript:function%20load(url,callback){var%20script=document.createElement('script');script.type='text/javascript';script.src=url;script.onload=callback;document .head.appendChild(script);}load('http://code.jquery.com/jquery-1.11.1.min.js',function(){console.log('Loaded');})

我在 Ubuntu 12.04 上使用 FireFox 29。如果它被执行,一个“加载”应该出现在控制台中。在第一次加载时,控制台中可以看到对资源的​​额外访问。但正如上面所写的,例如facebook.com 什么都没有发生。既没有加载脚本,也没有调用回调。

【问题讨论】:

  • “一些页面”?哪些页面?如果我们要重现这个问题,我们需要做什么?
  • 它发生的地方之前写在我的问题中。我在下面添加了一个带有相同代码的 boorkmarklet。
  • 那么我们如何重现这个问题呢?为我们写下步骤,以便我们可以重现它。正如它所写的那样,你给了我们一个脚本,并说,“这不起作用”——这对我们没有帮助。我们需要能够完成您正在经历的步骤。那么这些步骤是什么? (请将此编辑到您的问题中)。

标签: javascript firefox exception


【解决方案1】:

这很可能是由于书签本身的 XSS。 FF 35.0 不再出现错误并显示格式正确的消息。

【讨论】:

    猜你喜欢
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2010-09-05
    相关资源
    最近更新 更多