13

我正在发射Window.open();命令。在另一个选项卡中打开链接页面。我想要的是当我单击链接时,链接将在新窗口中打开,但应该在同一页面上。

那可能吗 ?

目前我正在使用这样的。

function AddToDatabase(url) {
            window.open(url, "_blank");
}
4

6 回答 6

17

使用 _self 而不是 _blank。

window.open(url, "_self");
  1. _blank - URL 被加载到新窗口中。这是默认的
  2. _parent - URL 被加载到父框架中
  3. _self - URL 替换当前页面
  4. _top - URL 替换任何可能加载的框架集 name - 窗口的名称

了解更多详情。看到这个链接

于 2013-03-08T17:21:13.020 回答
3

您拥有的代码不应更改页面。你怎么叫AddToDatabase()?它来自a href标签吗?如果是这样,则默认操作是从链接发生的,您需要防止这种情况发生。

您可以将 href 属性设置为javascript:void(0)

<a href="javascript:void(0)" onclick="AddToDatabase('myUrl')">Add URL</a>

或者你可以有 onclick 属性return false

<a href="#" onclick="AddToDatabase('myUrl'); return false;">Add URL</a>
于 2013-03-08T17:34:57.447 回答
3

我知道这个问题太老了,但它完美地描述了我需要回答的问题,并且我能够想出一个不错的解决方案,所以我想我会在这里发布。这是一个有趣的解决方法。

本质上,您设置了一个超时来延迟将当前页面转发到新 url,然后在新选项卡中打开当前 url。所以:

function open_hidden_tab(new_url) {
    var thisTimeout= setTimeout(function() {
        window.location.href= new_url;
    }, 500);
    var newWindow= window.open(window.location.href);
    if(!newWindow) {
        clearTimeout(thisTimeout);
        alert('Please allow pop-ups on this site!');
    }
}
open_hidden_tab('https://google.com');

显然,您应该在您的站点上显示某种错误消息,而不是使用烦人的警报功能,但它适用于本示例的目的。

希望这对某人有帮助!

于 2016-04-15T17:23:17.320 回答
2

你可以用这个。

 <a href="terms.html" onclick="window.open(this.href, 'targetWindow', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=400,height=600');return false;" />Terms & Conditions</a>

它对我有用

于 2017-01-29T09:37:30.807 回答
0

这是一个弹出窗口的示例:

var url = "example.com";
window.open(url, "s", "resizable=yes, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, copyhistory=no").blur();
window.focus();

如果这就是你要找的东西,那就发疯吧。从 Web 开发的角​​度来看,这是非常不道德的,但可以做到。

于 2013-03-08T17:25:50.360 回答
0
<html>
<body>

<script>
myWindow=window.open('','','width=200,height=100')
myWindow.document.write("<p>This is 'myWindow'</p>")
myWindow.focus()
</script>

</body>
</html>

您应该确定窗口的宽度和高度。

看看这个演示: http: //jsfiddle.net/XyJW5/但不要忘记允许在浏览器中弹出该网站

于 2013-03-08T17:28:45.197 回答