Javascript弹出窗口不起作用

Javascript popup not working

本文关键字:不起作用 窗口 Javascript      更新时间:2023-09-26

下面的页面有什么问题?

<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>

每当我单击按钮时,没有任何反应。

使用镶边

试试这个:

<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>

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

一个独特的相关琐事:
至少在最新版本的IE中,9.0.8112.16241(vista/win7(和8.0.6001.18072(XP(以编程方式执行window.open(‘about:blank’),可编程focus()将卡在显示">About:Blank"的地址栏中。
注意: 具有空字符串 URL 的window.open(”)window.open(‘about:blank’) 相同。

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

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

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

相关自定义安全设置:

  • 在这里,:工具->互联网选项->安全->自定义级别->其他
  • 值:允许网站打开没有地址或状态栏的窗口:使

注意:我的是一个传统的基于Web的"应用程序",它采用了合法有用的弹出窗口设计,这是有益的(还没有人将它们从"Word"中删除(。对于我们这些受损的人来说,这已经足够挑战了,因为这个有用的 UI 机制已经被骗子和黑客破坏了,我恳求你不要用非生产性的"不要使用弹出窗口"切向感叹词进一步殴打我们。

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

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

可选的"testPopupFocusContent.html"用于onloadJSServerSidePag

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

w=window.open()行末尾的false未正确引用/连接。

试试这个:

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

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

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

这里的最后一个参数格式不正确,并更正了删除">

   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或相对URL。

希望这有帮助..