簡體   English   中英

動態加載的js函數不會出現在Firebug js調試器中

[英]dynamically loaded js function does not appear in Firebug js debugger

有一個page1.html(我在瀏覽器中打開它):

<div id="content">
</div>
<script type="text/JavaScript">
    jQuery.ajax({
        type : "GET",
        url : 'page2.html',
        dataType : "html",
        success : function(response) {          
            jQuery('#content').append(response);

        }
    });
</script>

page2.html的代碼:

<script type="text/JavaScript" src="js/page2.js"></script>

<script type="text/JavaScript">
test();
</script>

頁面代碼js / page2.js:

function test() {
    alert('Function Test()');
}

一切正常,顯示“功能測試()”窗口。 但問題是我無法在firebug js調試器中找到函數test()的代碼。 它不會出現在事件腳本或eval中。

我該如何解決這個問題?

僅供參考:如果我沒有將該函數放在單獨的js文件中,而是將其放在page2.html中,它會在調試器中核心顯示。

如果我在test()函數中放入“debugger”字,Firebug會停止,但函數的源代碼仍然無法訪問。

版本:Firefox 3.0.10,Firebug 1.3.3

更新:幾乎與使Firebug在動態加載的javascript中打破的問題相同,但還沒有答案

這是一個黑客攻擊,但是我通過添加兩次調試器一詞讓firebug停在外部文件js/page2.js 一旦位於文件頂部,另一次位於函數頂部。

如果調試器字在任一地方只有一次,則firebug不會停止。

debugger;
function test() {
    debugger;
    alert('Function Test()');
}

嘗試:

eval('debugger;');

它不漂亮,但它似乎工作。

將js / page2.js更改為:

function test() {
    alert('Function Test()');
}
alert('loaded');

你看到“加載”的消息了嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM