好吧,我要疯了。我正在尝试实现一个基本的弹出窗口来显示图像。如果我的 javascript 代码在带有 onclick 属性的 HTML 标记中完全指定,则窗口会正确弹出。如果从 HTML 文档开头的脚本标记或单独的 js 文件调用我的 IDENTICAL javascript 代码,则链接(或在我的情况下为图像)不是在弹出窗口中打开,而是在同一个窗口中打开。<沮丧>
这将打开一个弹出窗口:
<a href="test.jpg" onclick="window.open('test.jpg','test_name','width=500,height=500,scrollbars=no'); return false">test_name</a>
这不会打开弹出窗口:
function cleanPopup(url, title) {
window.open(url, title, 'width=500,height=500,scrollbars=no');
return false;
}
<a href="test.jpg" onclick="return cleanPopup('test.jpg', 'test_name')">test_name</a>
任何帮助,将不胜感激。
PS:在 Chrome 和 Firefox 中测试。
编辑:
我发现了我的问题。我原本只调用了head标签中的js文件。当使用模板工具(在我的例子中为模板工具包)的多个脚本创建 div 的层时,有一些东西使 head 元素中的原始脚本元素对更深的子元素似乎不可见。
我不知道到底发生了什么,我也没有时间去探索它。我添加了这个编辑,以防其他人有类似的问题,并以某种方式偶然发现这个线程。如果有人理解这种现象,并且可以解释它,请做。
编辑2:
window.open 方法的“name”参数不能包含空格,以便弹出窗口在 IE 中工作。谢谢 M$。