Tôi muốn mở một liên kết trong cùng một cửa sổ và trong cùng một tab có chứa trang có liên kết.
Khi tôi cố gắng mở một liên kết bằng cách sử dụng window.open
, thì nó sẽ mở trong tab mới, không phải trong cùng một tab trong cùng một cửa sổ.
Tôi muốn mở một liên kết trong cùng một cửa sổ và trong cùng một tab có chứa trang có liên kết.
Khi tôi cố gắng mở một liên kết bằng cách sử dụng window.open
, thì nó sẽ mở trong tab mới, không phải trong cùng một tab trong cùng một cửa sổ.
Câu trả lời:
Bạn cần sử dụng thuộc tính name:
window.open("https://www.youraddress.com","_self")
Chỉnh sửa : Url nên được chuẩn bị sẵn giao thức. Không có nó cố gắng để mở url tương đối. Đã thử nghiệm trong Chrome 59, Firefox 54 và IE 11.
_self
được đề cập trong phần 5.1.6 Tên ngữ cảnh duyệt của Khuyến nghị HTML5 W3C ngày 28 tháng 10 năm 2014 tại: w3.org/TR/html/browsers.html#browsing-context-names (nhưng window.location
vẫn sạch hơn).
Dùng cái này:
location.href = "http://example.com";
Để đảm bảo rằng liên kết được mở trong cùng một tab, bạn nên sử dụng window.location.replace()
Xem ví dụ dưới đây:
window.location.replace("http://www.w3schools.com");
Bạn có thể đưa nó đến cùng một trang mà không chỉ định url:
window.open('?','_self');
Một trong những tính năng nổi bật nhất của javascript là kích hoạt trình xử lý onclick một cách nhanh chóng. Tôi tìm thấy sau cơ chế đáng tin cậy hơn so với sử dụng location.href=''
hoặc location.reload()
hay 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);
}
Mã ở trên cũng hữu ích để mở tab / cửa sổ mới và bỏ qua tất cả các trình chặn cửa sổ bật lên !!! Ví dụ
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);
}
Mở một url khác như nhấp chuột trong liên kết
window.location.href = "http://example.com";
Bạn có phải sử dụng window.open
? Còn việc sử dụng window.location="http://example.com"
thì sao?
window.open(url, wndname, params)
, nó có ba đối số. nếu bạn không muốn nó mở trong cùng một cửa sổ, chỉ cần đặt một tên khác. nhu la :
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).
Dưới đây là chi tiết về window.open()
, bạn có thể tin tưởng nó!
https://developer.mozilla.org/en/DOM/window.open
cố gắng lên ~
Với html 5, bạn có thể sử dụng API lịch sử .
history.pushState({
prevUrl: window.location.href
}, 'Next page', 'http://localhost/x/next_page');
history.go();
Sau đó trên trang tiếp theo, bạn có thể truy cập đối tượng trạng thái như vậy
let url = history.state.prevUrl;
if (url) {
console.log('user come from: '+ url)
}
Just Try in button.
<button onclick="location.reload();location.href='url_name'"
id="myButton" class="btn request-callback" >Explore More</button>
Using href
<a href="#" class="know_how" onclick="location.reload();location.href='url_name'">Know More</a>
window
/ tab
.https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Syntax
_self
<a
href="url"
target="_self">
open
</a>
const autoOpenAlink = (url = ``) => {
window.open(url, "open testing page in the same tab page");
}
_blank
demo vue
<div style="margin: 5px;">
<a
:href="url"
@click="autoOpenAlink"
target="_blank"
>
{{url}}
</a>
</div>
vue
autoOpenAlink(e) {
e.preventDefault();
let url = this.url;
window.open(url, "iframe testing page");
},
target=
của thẻa
. Trong thực tế, bạn có thể đặt tên cho cửa sổ của bạn bất cứ điều gì bạn thích. Tất cả những gì bạn cần là đặt giá trị khác nhau để nó không mở trong cùng một cửa sổ hoặc tab.