例如,我有一個ajax請求,它返回<script src='buggy.js'></script>
。動態加載的JavaScript不顯示在來源面板?
問題是,它不顯示在來源或資源面板中。這意味着我不能做所有酷酷的事情,比如添加斷點並在運行時檢查元素。
我只能看到網絡面板下的js文件的來源。
有無論如何使鉻添加到源面板?
或者你們如何去調試動態添加的腳本?
使用加納利。
例如,我有一個ajax請求,它返回<script src='buggy.js'></script>
。動態加載的JavaScript不顯示在來源面板?
問題是,它不顯示在來源或資源面板中。這意味着我不能做所有酷酷的事情,比如添加斷點並在運行時檢查元素。
我只能看到網絡面板下的js文件的來源。
有無論如何使鉻添加到源面板?
或者你們如何去調試動態添加的腳本?
使用加納利。
請參考https://developer.chrome.com/devtools/docs/javascript-debugging#breakpoints-dynamic-javascript
(原文鏈接低於broken--存檔鏈接)
http://web.archive.org/web/20141016164821/https://developer.chrome.com/devtools/docs/javascript-debugging#breakpoints-dynamic-javascript( 「斷點動態JavaScript中」)。
如果相關腳本甚至不出現在源選項卡中,那麼這並不起作用。 –
我想它不會被加載呢?你可以在網絡面板中看到它嗎? –
是的,在我的特殊情況下,它顯示在網絡面板中。另外,如果我「斷開異常」,並且一些動態代碼拋出,那麼調試器會斷開並且該片斷顯示在一個新的選項卡中,該選項卡看起來像來自屏幕截圖[此處](http:// stackoverflow。 COM /問題/ 17367560 /鉻開發工具-VM-文件從JavaScript的)。在該選項卡中,完全調試似乎可用(變量,步進等)。所以我可以通過引入一個故意的例外來破解它,由於多種原因,這是不理想的。這是Chrome 28.0.1500.71。 –
我遇到了同樣的問題,我發現了一個比故意的例外更好的解決方法。它仍然需要更改代碼,而不是在chrome開發工具中設置斷點。
我嘗試使用OP作爲解決方法建議的「//#sourceURL = dynamicScript.js」,但它仍然沒有顯示出來,除非它已經存在於我以前的時間內的選項卡中它產生了一個例外。
對「調試器」進行編碼線迫使它在該位置中斷。然後,一旦它位於Sources面板的我的選項卡中,我可以像正常一樣設置斷點並刪除「調試器」;線。
它也可能顯示在Sources選項卡下的(無域)列表中。 – Splaktar
猜我發現一個變通方法http://stackoverflow.com/questions/9092125/how-to-debug-dynamically-loaded-javascriptwith-jquery-in-the-browsers-debugge – resting
那麼你的腳本究竟是如何加載?如果您手動將具有src屬性的腳本標記插入到DOM中,那麼它應該出現在源面板中。如果腳本是通過eval添加的,或者使用某種javascript框架(例如jQuery)將其插入到DOM中,那麼您可能需要提供sourceURL才能使其工作。 – vsevik