-2

下面的页面有什么问题?

<html>
<head>
<script type="text/javascript">
function openWin(url, w, h)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
w=window.open(url, '_blank', 'width='+w+', height='+h+', scrollbars=no, menubar=no, resizable=no, location=no, toolbar=no, top='+top+', left='+left+', 'false');
w.focus();
}
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWin(about:blank, 200, 200)" />

</body>
</html>

每当我单击按钮时,什么都没有发生。

使用铬

4

6 回答 6

5

尝试这个:

<html>
<head>
<script type="text/javascript">
function openWin(url, w, h)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
w=window.open(url, '_blank', width='+w+', height='+h+', scrollbars='no', menubar='no', resizable='no', location='no', toolbar='no', top='+top+', left='+left+', 'false');
w.focus();
}
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWin('about:blank', 200, 200); return false;" />

</body>
</html>
于 2012-05-12T23:03:12.277 回答
3

你有 2 个语法错误,一个在你的 onClick 属性中,你about:blank没有被引用
两个,在 window.open 中你有+'第二个参数的末尾还有第三个参数作为字符串,它应该是布尔值。

于 2012-05-12T23:00:42.157 回答
2

一个独特的相关琐事:
至少在最近的 IE 版本中,9.0.8112.16241 (vista/win7) 和 8.0.6001.18072 (xp),以编程方式执行 awindow.open(‘about:blank’)并且可编程focus()将卡在显示“<strong>about”的地址栏中:空白的”。
注意: window.open(”)带空字符串的 URL 与window.open(‘about:blank’).

location=no根据 IE 安全设​​置添加选项可以解决此问题
Allow websites to open windows without address or status bars

但是,它们的默认值很糟糕(强制地址栏)。我发现最简单的方法是让用户在他们的安全设置中将我们的网站设置为“受信任”,其中默认的“中等”设置不会强制显示地址栏。

在 IE 8 中使用虚拟 URIjavascript:popup=1确实可以解决此问题,但这可能会根据可能不适合您的设置在新选项卡中打开。

相关自定义安全设置:

  • 其中:工具->Internet 选项->安全->自定义级别->其他
  • 值:允许网站打开没有地址或状态栏的窗口:启用

笔记:我的是一个遗留的基于网络的“应用程序”,它采用了合法有用的弹出窗口设计,这是有益的(还没有人将它们从“Word”中删除)。对于我们这些受损的人来说,这是一个足够的挑战,因为这种有用的 UI 机制已被诈骗者和黑客破坏,我恳请您不要再用非生产性的“不要使用弹出窗口”切线感叹词进一步殴打我们。

测试代码(onloadJSServerSidePage有效,onloadJSClientSidePage有问题):

http://forus.com/csm/code/iepopup/testPopupFocus.html

可选的“testPopupFocusContent.html” onloadJSServerSidePag

http://forus.com/csm/code/iepopup/testPopupFocusContent.html

于 2012-06-26T17:07:46.233 回答
1

这里最后一个参数格式错误并更正删除了一个'

   w=window.open(url, '_blank', 'width='+w+', height='+h+', scrollbars=no, menubar=no, 
    resizable=no, location=no, toolbar=no, top='+top+', left='+left+', false');

在html调用代码中,

  <input type="button" value="Open window" onclick="openWin('http://www.google.com', 200, 200)" />

在 url 部分,你可以有一个绝对 url 或相对 ..

希望这可以帮助..

于 2012-05-12T23:12:54.353 回答
1

试试这个:

<input type="button" 
       value="Open window" 
       onclick="openWin('about:blank', 200, 200);" />

我认为函数调用中 URL 参数中的冒号导致了问题 - 如果它是一个字符串,它应该用引号引起来。

编辑:添加了一个分号 - 这似乎对我有用。

于 2012-05-12T22:51:19.587 回答
1

false在行尾w=window.open()没有正确引用/连接。

于 2012-05-12T22:55:54.953 回答