我想在相同的窗口和相同的选项卡中打开一个链接,其中包含有链接的页面。
当我试图打开一个链接使用窗口。打开,然后在新选项卡中打开——而不是在同一窗口的同一选项卡中。
我想在相同的窗口和相同的选项卡中打开一个链接,其中包含有链接的页面。
当我试图打开一个链接使用窗口。打开,然后在新选项卡中打开——而不是在同一窗口的同一选项卡中。
当前回答
最突出的javascript特性之一是动态地触发onclick处理程序。我发现以下机制比使用定位更可靠。Href = "或location.reload()或window.open:
// this function can fire onclick handler for any DOM-Element
function fireClickEvent(element) {
var evt = new window.MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true
});
element.dispatchEvent(evt);
}
// this function will setup a virtual anchor element
// and fire click handler to open new URL in the same room
// it works better than location.href=something or location.reload()
function openNewURLInTheSameWindow(targetURL) {
var a = document.createElement('a');
a.href = targetURL;
fireClickEvent(a);
}
上面的代码也有助于打开新的标签/窗口,绕过所有弹出窗口拦截器!!如。
function openNewTabOrNewWindow(targetURL) {
var a = document.createElement('a');
a.href = targetURL;
a.target = '_blank'; // now it will open new tab/window and bypass any popup blocker!
fireClickEvent(a);
}
其他回答
你可以这样做
window.close();
window.open("index.html");
它在我的网站上很成功。
就像这样 _self window.open (" www.youraddress.com ", " ")
如果你有你的页面在“框架”那么 “Window.open(“logout.aspx”、“_self”)”
将被重定向到同一帧内。所以通过使用
"Window.open('logout.aspx','_top')"
我们可以加载页面作为新的请求。
使用_self打开当前标签页中的url
const autoOpenAlink = (url = ' ') => { 窗口。打开(url,“在同一个标签页中打开测试页面”); } <一个 href = " https://cdn.xgqfrms.xyz/index.html " 目标= " _self” onclick = " autoOpenAlink(“https://cdn.xgqfrms.xyz/index.html”)" > 在当前标签页中使用' _self '打开url < / >
在新标签页中使用_blank打开url
const autoOpenAlink = (url = ``) => { window.open(url, "open testing page in a new tab page"); } // ❌ The error is caused by a `StackOverflow` limitation // js:18 Blocked opening 'https://cdn.xgqfrms.xyz/index.html' in a new window because the request was made in a sandboxed frame whose 'allow-popups' permission is not set. <a href="https://cdn.xgqfrms.xyz/index.html" target="_blank" onclick="autoOpenAlink('https://cdn.xgqfrms.xyz/index.html')"> open url in a new tab page using `_blank` </a>
refs
根据MDN的文档,你只需要给新窗口/标签一个名字。
https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Syntax
窗口。Open (url, wndname, params),它有三个参数。如果你不希望它在同一个窗口中打开,只需要设置一个不同的wndname。例如:
window.open(url1, "name1", params); // this open one window or tab
window.open(url1, "name2", params); // though url is same, but it'll open in another window(tab).
下面是关于window.open()的详细信息,你可以信任它! https://developer.mozilla.org/en/DOM/window.open
试试吧~~