Javascript Firefox调试器:跳过html代码

Javascript Firefox调试器:跳过html代码,javascript,debugging,Javascript,Debugging,我有一个远程html页面,需要调试一些javascript错误。我没有访问该页面的权限,因此我必须求助于FF调试器。在那里,我在主体上调用了一个js函数onLoad,如下所示: <body onLoad="someFunction();" id="bd" class="fs3 FF" > 我不知怎的想跨过它,或者用这个来代替它: <body id="bd" class="fs3 FF" > 我怀疑someFunction()正在破坏其他onload事件,因为我

我有一个远程html页面,需要调试一些javascript错误。我没有访问该页面的权限,因此我必须求助于FF调试器。在那里,我在
主体上调用了一个js函数
onLoad
,如下所示:

<body onLoad="someFunction();" id="bd" class="fs3 FF" >

我不知怎的想跨过它,或者用这个来代替它:

<body id="bd" class="fs3 FF" >

我怀疑
someFunction()
正在破坏其他onload事件,因为我得到了一个错误,它是未定义的。调试这个的最佳方法是什么

我对JS调试相当陌生,但我尝试在这一行设置断点,但它们总是进入本文中的JS代码。有什么建议吗

更新:我无法访问该网站,因为该网站属于我的一个客户。他宁愿让我调试并建议他修复,而不是提供访问权限

我怀疑某个函数()正在破坏其他onload事件

损坏的
onload
属性不会阻止调用其他加载回调(例如,通过
addEventListener
连接)。但是你在评论中说你希望能够消除它作为一个可能的原因,所以:

如果页面上有任何
script
元素,可以执行以下操作:

  • 查找第一个
    脚本
    元素

  • 查找该元素中的第一行代码(直接在该元素中,或在其引用的文件中)

  • 在该行上设置断点

  • 重新加载页面,这将触发断点

  • 在控制台中键入以下内容:

    document.body.onload = null;
    
  • 单击resume按钮以允许代码运行


  • #5中的代码将删除属性创建的处理程序。(它不会删除属性,但无需删除。如果确实需要,请在上面添加
    document.body.removeAttribute(“onload”);
    。)因为断点位于脚本的第一行,它将在加载事件触发之前被命中。

    我有一个远程html页面,需要调试一些javascript错误。我没有访问该页面的权限
    -您将无法修复它,因此调试它有什么意义?在执行onload之前暂停该页面,删除
    onload=“someFunction();”
    “我怀疑someFunction()正在破坏其他onload事件”不,破坏的
    onload
    属性不会阻止其他加载回调(例如,通过
    addEventListener
    )连接,以避免被调用()“我无权访问该页面”哈?如果你不能更改页面,你到底想做什么?@t.J.Crowder你可能是对的。我的假设可能不正确。但我仍然必须让该函数停止运行,以确保这不是问题的原因,这才是问题的关键。但这不会删除我需要的脚本的onload事件吗?@hussain:不,只有通过
    onload
    属性附加的一个处理程序。对于元素上的任何给定事件,只能有一个老式的“DOM0”事件处理程序。通过
    addEventListener
    (或旧IE上的
    attachEvent
    )正确附加的处理程序是一个单独的列表。(这就是为什么这不会改变任何事情,正如我在对这个问题的评论中指出的。但我理解你希望消除这一可能的原因。)现在我想起来了,多亏了你,超负荷可能和我的问题没有任何关系。谢谢你向我澄清了这一点。虽然我之前不是故意粗鲁的。如果你这么想,我很抱歉:)@hussain:别担心,书面交流总是不完美的。(说到这里,交流总是不完美的。)祝你好运。