我设置了我的网络浏览器 (Firefox 10 和 Chrome 16),使其在新标签页中打开同一窗口内的新页面。当我写本地文件时,如下所示:
<html><body><input type="button" onclick="window.open();"/></body></html>
当我从Web浏览器访问该位置并单击按钮时,新页面在新标签页中的同一窗口内打开。这是预期的行为。
然而,当我使用本地Web服务器(Ruby + Webrick)并动态生成与上述相同的内容,并访问该位置
localhost:3000
,然后单击按钮,那么新页面在新窗口中打开。为什么它的行为不同于上面的情况,并且如何修复代码以使其在同一窗口中的新选项卡内打开?如果我反而这样做:
<html><body><input type="button" onclick="window.open("", "_self");"/></body></html>
新页面将在同一标签页中打开,即覆盖当前页面。