1

firefox 19 と firebug 1.XI で を試してみると奇妙なバグに遭遇しました//@sourceurl

基本的に、以下のサンプルでわかるように、dom 操作を介して script タグを動的に追加しています。これは動作しません。

ffの制限かもしれませんが、ffではなくchromeで機能するのは奇妙だと思います。これを確認して、このバグを回避
できますか?

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>
4

1 に答える 1

2

実験により、私は次のことを信じるようになりました。

  1. //@ sourceURLバージョン 20.0 の時点で、FF は組み込みの Web コンソールで直接サポートしていません。

  2. //@ sourceURLFF の Firebug アドオンで動作しますが、期待/期待どおりには完全には機能しません。

    A.のみ有効ですeval。元の質問のように、追加されたスクリプト ノードではまったく機能しません。

    B. エラーには行番号と URL があり
    、エラーをクリックしてコード行を表示できます。ただし、影響を受けconsole.logていない
    ようで、行番号や URL は表示されません。

  3. FF の Web コンソール内からこの機能をテストすることはお勧めできません。少なくとも時々、HTML で直接テストした場合とは異なる結果が得られました。

于 2013-05-11T05:59:02.970 に答える