繁体   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