Safari无法显示动态创建的页面的窗口标题

时间:2012-08-16 09:23:36

标签: javascript html safari

我创建一个空的弹出窗口,我写了html代码,包括标题标签。这在所有浏览器上都有效,但Safari 5或6不起作用。

代码(最小化示例代码):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Main Window Title</title>
</head>
<body>
<p>The main page opens a second window:</p>
<SCRIPT language="JavaScript" type="text/javascript">
    myWindow = window.open();
    myWindow.focus();
    myWindow.document.write("<html><head><title>The Other Window Title<\/title><\/head><body><p>Some text<\/p><\/body><\/html>");
    myWindow.document.close();
</SCRIPT>
</body>
</html>

在Firefox中,这会产生一个标题为“主窗口标题”的主页面和一个标题为“其他窗口标题”的第二个窗口。

但在Safari中,第二个窗口的标题仍然是通用的“无标题”。

对我而言,Safari行为似乎是一个错误,但我想知道是否有办法让它仍然有效?

(如果我向window.open提供了一个url参数,其中url是一个带有标题标签的网页,那么它会正确显示,但我当然不希望这样,因为我希望它是动态的创建。 我也尝试插入myWindow.document.title = "A new title";但它在Safari中没有任何效果(但它在Firefox中有效)。)

1 个答案:

答案 0 :(得分:3)

制作网址about:blank

示例:

var myWindow = window.open("about:blank")