这里我有两个asp.net mvc网站。从第一个网站我有一个链接到第二个网站。因此,第一个网站将调用第二个动作。我想在新标签页面上打开,当前标签应该重定向到我的第一个网站。此操作将返回一个视图。
我在视野中的方法
1
$(document).ready(function (e) {
window.open("/newpage");
window.open("/site1", "_self");
});
浏览器弹出窗口拦截器会阻止此操作。因为没有用户事件。所以我尝试了不同的方法
2
$(document).ready(function (e) {
$("#input").on("click", function () {
window.open("/newpage");
window.open("/site1", "_self");
});
$("#input").trigger("click");
});
<label id="input" style="display:none;">test one</label>
我已经触发了一个事件。但它仍然受阻。如果禁用弹出窗口阻止程序,这两种方法可以正常工作。 我想在新选项卡中打开页面而不禁用弹出窗口阻止程序。
注意:这两个网站的域名相同。例如:abc.com \ siteone和abc.com \ sitetwo
答案 0 :(得分:0)
从第一个网站我有一个链接到第二个网站。因此,第一个网站将调用第二个动作。我想在新标签页面上打开,当前标签应重定向到我的第一个网站。
我执行此操作的方式是一次或两次,我有一个非常好的用例是使用带有单击处理程序的link元素:单击处理程序打开新窗口,链接元素&# 39;默认操作在链接之后,将现有窗口带到新位置。这样, 是用户启动的操作。这适用于我尝试过的每一个浏览器。我应该注意到它们不在jsFiddle或jsBin之类的东西上工作,因为它们如何包装东西。
因此,在您的情况下,链接的href
将是您希望他们在第一个网站上的位置,window.open
将用于第二个网站。
示例:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Double</title>
<style>
body {
font-family: sans-serif;
}
</style>
</head>
<body>
<a href="http://stackoverflow.com">Click me</a>
<script>
document.querySelector("a").addEventListener(
"click",
function() {
window.open("http://google.com");
},
false
);
</script>
</body>
</html>