我打开一个窗口如下:
window.open(url, "_blank", 'toolbar=yes,menubar=no,dialog=yes,maximize=no,top=20,left=165,scrollbars=yes,width=' + width + ',height=' + height + "'");
在这里,我需要将地址栏设置为只读。我正在查看这个答案,但这会禁用地址栏。但是我希望它只读。
我打开一个窗口如下:
window.open(url, "_blank", 'toolbar=yes,menubar=no,dialog=yes,maximize=no,top=20,left=165,scrollbars=yes,width=' + width + ',height=' + height + "'");
在这里,我需要将地址栏设置为只读。我正在查看这个答案,但这会禁用地址栏。但是我希望它只读。
您不能在任何浏览器中这样做,而是使用会话将值从一个页面传递到另一个页面,这样任何人都无法修改它。
或者你也可以实现 CrossPagePostback 概念。
它可以在现代浏览器中完成。当位置设置为 0 时,Modern 不再隐藏 URL 栏。相反,它们将其呈现为只读。
此处的答案说明了 IE7 对此的行为,
在 IE7 及更高版本中, location=no 只是隐藏后退/前进/停止导航按钮,并使地址栏只读。
Firefox 也有同样的行为。这是官方文档,
在 Firefox 3 中,dom.disable_window_open_feature.location 现在默认为 true,从而强制显示位置栏,就像在 IE7 中一样。有关详细信息,请参阅错误 337344。
我也用 Chrome 进行了测试,它的行为也一样。
所以简短的回答是“设置位置 = 0,您可以将 URL 栏设为只读”。