// @sourceurl在firefox中的脚本标记上

时间:2013-01-17 08:48:19

标签: javascript node.js eval

在firefox 19和firebug 1.X中,我在尝试//@sourceurl时遇到了一个奇怪的错误。

基本上我通过dom操作动态添加脚本标记,如下面的示例所示。这不起作用。

也许这是对ff的限制,但我发现奇怪的是它适用于chrome而不是ff 你可以确认这个吗?你有没有绕过这个错误?

Ps:我不想使用全局eval()因为崩溃即使用document.write

<html>
    <head>

    <script type="text/javascript">
    var count=0;
    function addNewScriptToHead()
    {
            var newScriptElem;
            var newScriptText;

            newScriptElem = document.createElement('script');
            newScriptElem.setAttribute('type', 'text/javascript');
            newScriptElem.setAttribute('id', '' + count);
            newScriptElem.text= 'console.log("Yay !");//@ sourceURL=root/test'+count++ +'.js';

            document.body.appendChild(newScriptElem);
    };
    </script>
    </head>

    <body>
            <button onclick="addNewScriptToHead()">add script</button><br><br>
    </body>

</html>

1 个答案:

答案 0 :(得分:2)

实验让我相信以下内容:

  1. 从版本20.0开始,FF仍然不直接在其内置的Web控制台中支持//@ sourceURL

  2. //@ sourceURL可以在FF中使用Firebug插件,但不完全符合预期/希望。

    一个。 适用于eval。它根本不起作用 脚本节点就像原始问题一样。

    B中。错误将包含行号和URL,您可以单击
    查看代码行的错误。但是,console.log没有 似乎受到影响,并且没有显示行号或URL。

  3. 不建议在FF的Web控制台中测试此功能。我得到的结果与在HTML中直接测试的结果不同,至少在某些时候。