[英]How to save a complete page in Chrome using JavaScript (from Dev Tools)?
[英]How to use Chrome dev tools to debug javascript tag added dynamically to a page's head element?
我正在嘗試使用Chrome的開發工具來調試頁面上javascript的流程。 我有一個加載了JavaScript的第三方系統,該JavaScript使用以下代碼將SCRIPT標簽動態添加到頁面上的HEAD元素:
var head= document.getElementsByTagName("head")[0];
var el = document.createElement('script');
el.type = 'text/javascript';
el.src = 'https://address.com/anotherjsscript.js';
head.appendChild(el);
當動態加載並調試其中的“ anotherjsscript.js”時,如何捕獲?
我剛剛在指向jQuery Validation的上方使用了您的代碼:
var head= document.getElementsByTagName("head")[0];
var el = document.createElement('script');
el.type = 'text/javascript';
el.src = 'https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.js';
head.appendChild(el);
第一次運行該頁面后,您將在“ 網絡”選項卡下看到請求,右鍵單擊腳本並選擇在源面板中打開 :-
然后添加您的斷點並再次刷新頁面:
然后應該受到打擊。
另一個選擇是創建一個如下所示的函數,該函數獲取腳本內容,在debugger
腳本並將腳本文本設置為內容:
function debugScript(url){
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", url, false );
xmlHttp.send( null );
var script = 'debugger; ' + xmlHttp.responseText;
var head = document.getElementsByTagName("head")[0];
var el = document.createElement('script');
el.type = 'text/javascript';
el.text = script;
head.appendChild(el);
}
debugScript('https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.js');
只要開發人員工具處於打開狀態,斷點就會被擊中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.