0

下面的 javascript/html 在用户屏幕的右下角创建了一个小弹出窗口。此代码适用于 Chrome 和 Firefox,但由于某种原因不适用于 IE v9。

在 IE9 调试器中显示 Line: 17 Error: Invalid argument。

第 17 行是 var win = window.open(...

在调试器中,我看到:

HTML1202: http://xyzserver:8080/path/test_popup.html is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked. 

SCRIPT87:参数无效。test_popup.html,第 17 行字符 3

字符是 var win = ... 中的 v

有人有什么想法吗?

<!DOCTYPE html>
<html>
<head>
<script>
function open_win(data) 
{
  var w = 200;
  var h = 200;
  var left = (screen.width - (w * 1.1)); 
  var top  = (screen.height - (h * 1.1));

  var win = window.open('', 'about:blank', 'width=' + w + ',  height=' + h + ', top=' + top + ', left=' + left);
  win.document.write("<p>Received: " + data + "</p>")
  win.focus()
}
</script>
</head>

<body>
<form>
<input type="button" value="Open Window" onclick="open_win('information here')">
</form>
</body>

</html>
4

2 回答 2

3

您需要作为第一个参数而不是第二个参数传递(这是在 IEabout:blank中显然可能不包含 . 的窗口名称):

于 2013-01-27T12:45:40.487 回答
0

尝试这个:

var win = window.open('', '', 'width=' + w + ',  height=' + h + ', top=' + top + ', left=' + left);

所以没有,'about:blank'因为 Microsoft 不支持将名称作为第二个参数。

或者您应该说:window.open('_blank', '', 'width='...)....etc将名称作为第一个参数。

于 2013-01-27T12:45:54.933 回答