JavaScript的window.open函数不一致,预计在不打开弹出(Javascript

2019-09-16 11:19发布

好吧,我在这里要疯了。 我想实现一个基本的弹出窗口来显示图像。 如果我的JavaScript代码与单击属性的HTML标签完全指定的窗口中正确弹出。 如果我的IDENTICAL JavaScript代码无论从脚本标记在HTML文档的开始或从一个单独的js文件调用,(在我的情况或图像)的链接打开不在一个弹出,但在同一个窗口。 <挫折>

这将打开一个弹出窗口:

<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浏览器。

编辑:

我发现我的问题。 我原本只是叫头标记的js文件。 也有一些是div的层层当与模板工具(在我的情况模板工具包),使头部元素更深的子元素看似无形内的原始脚本元素的多个脚本创建。

我不知道到底发生了什么,我没有去探索它的时间。 我已经添加了该编辑以防其他人也有类似的问题,不知何故越过这个线绊倒。 如果有人理解这一现象,并能解释它,请不要。

编辑2:

window.open方法的“名称”参数中不能包含空格为弹出窗口在IE浏览器。 由于M $。

Answer 1:

DEMO这里

此代码是最接近万无一失,你可以在我看来得到。

测试在

  • 窗户 - 外汇,铬,IE8和Safari
  • iPhone:移动Safari浏览器
  1. 添加目标,使链接在新窗口或标签中打开如果允许的话 - 如果脚本由于某种原因失败 - 这是一个副作用是有用的,但不是问题的答案。
  2. 如果window.open失败也会使点击跟随链接,希望调用目标返回true - 请注意,某些浏览器也不再响应的目标。
  3. 在第三参数的高度(和宽度)将执行在新窗口中的开口,而不是一个新的标签,除非浏览器被设置在一个标签,打开所有新视窗
<html>
<head>
<script type="text/javascript">
window.onload=function() {
 document.getElementById('popup').onclick=function() {
   var w = window.open(this.href, this.target, 
       'width=500,height=500,scrollbars=no');
    return (!w); // opens in new window/tab if allowed
  }
}
</script>
</head>
<body>

<a id="popup" href="test.jpg" target="test_name">test_name</a>
</body>
</html>


Answer 2:

使用target = “_空白”

<a href="whatever" target="_blank"> ...

从HTML,或

window.open(url, '_blank', options)

从JavaScript



Answer 3:

新窗口的标题随机

onclick="PopupCenter(this.href,'random','600','700','yes'); return false;"

在功能:

if(title=='random')
{
title = randomID();
}


Answer 4:

尝试这个

function mypopup()
{
    mywindow = window.open("http://www.test.com", "mywindow", "location=1,status=1,scrollbars=1,  width=100,height=100");
}


Answer 5:

确保你把你的JavaScript代码头块

<head>
<script type="text/javascript" language="JavaScript">
function cleanPopup(url, title) {
    window.open(url, title, 'width=500,height=500,scrollbars=no');
    return false;
}
</script>

而在身体:

<a href="" onclick="cleanPopup('test.jpg','test_name')">test_name</a>

它只是对我的工作没有任何问题无论是在Firefox和IE



文章来源: Javascript's window.open function inconsistent, does not open pop up when expected