我在IE8中遇到了一个非常奇怪的行为。
我有一个简单的javascript函数来创建一个弹出窗口。弹出窗口创建正常,但父窗口转发到只打印[object]的完全空白窗口。我必须按后退按钮才能返回原始页面。
<a href='javascript:window.open("http://endic.naver.com/search.nhn?query=In&searchOption=entry_idiom","Dictionary","width=500, height=500")' target="_blank">Click me</a>
Chrome中没有问题,只有IE。我该如何摆脱这种恼人的行为?
答案 0 :(得分:9)
问题是Internet Explorer按预期执行代码,但也在新文档中显示window.open
的返回值。由于window.open
返回对新文档的对象引用,因此会将其转换为字符串 - [object Object]
- 并显示。
要解决此问题,您可以添加return false
以防止浏览器返回任何内容。
<a href='javascript:window.open("http://endic.naver.com/search.nhn?query=In&searchOption=entry_idiom","Dictionary","width=500, height=500"); return false' target="_blank">Click me</a>
编辑 - 请参阅此答案下方的OP评论。解决方案是将JavaScript移动到onclick
属性,并将target
属性更改为与弹出名称相同。
<a href="javascript:void(0);" onclick='window.open("http://endic.naver.com/search.nhn?query=In&searchOption=entry_idiom","Dictionary","width=500, height=500");' target="Dictionary">Click me</a>
答案 1 :(得分:2)
试试这个:http://jsfiddle.net/kelervin/Pf8Rw/
<强> HTML 强>
<a href="http://www.google.com" class="open-popup">test</a>
<强> JQUERY 强>
$('.open-popup').click(function(e) {
e.preventDefault();
window.open(this.href, '_blank', 'width=300,height=200');
});
注意:在chrome和IE 8中测试
答案 2 :(得分:0)
您需要禁用跟踪出站链接。将以下javascript代码添加到index.html文件:
<script type="text/javascript">
var clicky_custom = clicky_custom || {};
clicky_custom.outbound_disable = 1;
</script>