我正在调试其他人的网页。它上面有一个试图在弹出窗口中打开自己的链接,其原因尚不清楚 - HTML(onclick = foo)中没有任何明显的原因导致这种情况发生。
禁用JavaScript意味着链接正常打开。我有Firefox / Firebug / Dom Inspector,并希望捕获导致弹出窗口的任何JavaScript事件。由于我找不到代码,我被困住了。
Firebug可以创建一种全局断点来捕获所有代码吗?是否有其他方法可以挂钩并检查它?
有问题的页面是http://hijinxmusic.co.uk/,问题链接在底部附近是“绿色政策”。
感谢您的时间。
答案 0 :(得分:3)
绿色政策文档会在加载时打开一个弹出窗口:
<body onload="MM_openBrWindow('green%20policy.htm','green','width=900,height=600')">
这是里面的 green policy.htm
答案 1 :(得分:0)
只需添加到David's answer,在http://hijinxmusic.co.uk/green%20policy.htm
页面中对正文加载执行的功能实质上会调用window.open()
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
答案 2 :(得分:0)
更大的问题是,您尝试在新窗口中打开的页面与用户已经在查看的窗口相同,这没有任何意义。更重要的是,如果弹出窗口阻止程序没有阻止窗口创建,则会有无限循环的弹出窗口(加载green policy.html
,打开新的green policy.html
,加载green policy.html
等)。你想把弹出窗口发生在哪里?
此外,要添加到Russ Cam's answer,您可以通过检查window.open
的返回值来检测弹出窗口何时无法打开。我在Firefox,IE,Opera和Safari中成功使用过它(不需要在Chrome中测试)。使用提供的函数,这就是我处理阻塞弹出窗口的方式:
function MM_openBrWindow(theURL,winName,features) { //v2.0
if ( !window.open(theURL, winName, features) ) {
// Window failed to open:
// show a HTML dialog/popover that prompts the user to allow
// popups from this site, along with a `cancel` and `try again`
// button. The `try again` button will attempt to open the
// window again with the provided parameters
dialog.popupBlockedNotice.open(arguments);
}
// Window opened successfully.
}