在相同的窗口和相同的标签页中打开url
我想打开一个链接在同一个窗口,并在同一个页面包含链接。
当我尝试使用window.open
打开链接时,它将在新的选项卡中打开,而不是在同一个窗口中的同一个选项卡中。
你需要使用name属性:
window.open("https://www.youraddress.com","_self")
编辑 :url应该与协议前置。 没有它试图打开相对的url。 testing了Chrome 59,Firefox 54和IE 11。
用这个:
location.href = "http://example.com";
这很容易做到
window.location.replace("http://www.w3schools.com");
如果你的页面里面有“frame”,那么“Window.open('logout.aspx','_ self')”
将在同一帧内redirect。 所以通过使用
"Window.open('logout.aspx','_top')"
我们可以加载页面作为新的请求。
你必须使用window.open
? 那么使用window.location="http://example.com"
呢?
打开另一个url,如点击链接
window.location.href = "http://example.com";
其中最突出的JavaScriptfunction之一就是即时触发onclick处理程序。 我发现以下机制比使用location.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); }
上面的代码也有助于打开新的标签页/窗口,并绕过所有的popup窗口拦截器! 例如
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.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
试试看~~
这很容易。 打开第一个窗口为window.open(url, <tabNmae>)
例如: window.open("abc.com",'myTab')
并为下一个所有的window.open,使用相同的标签名称,而不是_self
, _parent
等
使用HTML 5,你可以使用历史API 。
history.pushState({ prevUrl: window.location.href }, 'Next page', 'http://localhost/x/next_page'); history.go();
然后在下一页,你可以像这样访问状态对象
let url = history.state.prevUrl; if (url) { console.log('user come from: '+ url) }
正像这个window.open("www.youraddress.com","_self")