javascript - Firefox 和 Chrome 中弹出窗口地址栏不一致

标签 javascript jquery html google-chrome window.open

我有以下代码:

HTML

<p>Click the button to open an about:blank page in a new browser window that is 200px wide and 100px tall.</p>
<button onclick="popitup2()">Open Window</button>

JavaScript

function popitup2() {
    newwindow2 = window.open('', 'name', 'height=200,width=150');
    var tmp = newwindow2.document;
    tmp.write('<html><head><title>popup</title>');
    tmp.write('<link rel="stylesheet" href="js.css">');
    tmp.write('</head><body><p>this is once again a popup.</p>');
    tmp.write('<p><a href="javascript:alert(self.location.href)">view location</a>.</p>');
    tmp.write('<p><a href="javascript:self.close()">close</a> the popup.</p>');
    tmp.write('</body></html>');
    tmp.close();
}

当我在 Firefox 中运行此命令时:弹出窗口的地址栏如“http://www.w3schools.com/js/tryit_view.asp?x=0.695266304636076

当我在 Chrome 中运行相同的内容时:弹出窗口有类似“about:blank”的地址栏

我的问题是:

即使我使用相同的代码片段,为什么两个浏览器的结果不同? 如何为所有浏览器的弹出窗口制作通用地址栏(url)?

即使我的应用程序也有这个问题。 我非常想知道造成这种情况的根本原因。谁能给我解释一下吗?

最佳答案

当您开始进行 Web 开发时,您会经常注意到类似这样的小不一致 - 重要的是要记住,虽然 HTML/CSS/Javascript 都有书面规范和标准,但这取决于浏览器制造商实现这些标准,他们通常选择的方式在一种浏览器和另一种浏览器之间可能有小(或大)的差异。您会注意到,在某些移动浏览器上,例如 iPhone 上的浏览​​器(据我所知,Chrome 的新金丝雀版本),地址栏甚至不显示普通页面的完整 URL,而仅显示根地址网站的。这是我们作为 Web 开发人员必须忍受的事情 - 如果它不是技术规范的一个硬性且快速的部分,我们就不能总是期望事情表现一致或按照我们期望的方式运行。

关于javascript - Firefox 和 Chrome 中弹出窗口地址栏不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23519343/

相关文章:

javascript - 使用nodejs中的csv-parse模块忽略引号内的内容

javascript - MEME 生成器(jQuery 和 CSS 帮助)

javascript - 选中/取消选中输入不起作用

jquery - 为什么不引人注目的验证只有在 AJAX 发布之后才起作用?

javascript - jQuery 在将表单填充到所有必填字段(如果为空)时添加类红色边框(填充除外)

javascript - 将 jQuery 集成到 Electron 应用程序中

css - SVG Logo 的上方/下方有不需要的空白,仅在 Google 网站管理员工具页面缩略图中

javascript - 使用 jquery tablesorter 插件保留斑马条纹

javascript - 全局 npm 依赖项 Express 将无法运行

html - 如何在 css/html 中形成两个字符的符号?