Bir bağlantıyı aynı pencerede ve bağlantı içeren sayfayı içeren aynı sekmede açmak istiyorum.
Kullanarak bir bağlantı açmaya çalıştığımda window.open
, aynı pencerede aynı sekmede değil, yeni sekmede açılır.
Bir bağlantıyı aynı pencerede ve bağlantı içeren sayfayı içeren aynı sekmede açmak istiyorum.
Kullanarak bir bağlantı açmaya çalıştığımda window.open
, aynı pencerede aynı sekmede değil, yeni sekmede açılır.
Yanıtlar:
Name niteliğini kullanmanız gerekir:
window.open("https://www.youraddress.com","_self")
Düzenleme : URL, protokolle başlamalıdır. O olmadan göreceli url açmaya çalışır. Chrome 59, Firefox 54 ve IE 11'de test edilmiştir.
_self
bölümünde açıklanan 5.1.6 Tarama bağlam isimleri arasında Ekim 2014 HTML5 W3C Tavsiye 28 : En w3.org/TR/html/browsers.html#browsing-context-names (ama window.location
yine de temizleyici).
Bunu kullan:
location.href = "http://example.com";
Bağlantının aynı sekmede açıldığından emin olmak için şunu kullanmalısınız: window.location.replace()
Aşağıdaki örneğe bakın:
window.location.replace("http://www.w3schools.com");
URL belirtmeden aynı sayfaya gitmesini sağlayabilirsiniz:
window.open('?','_self');
Javascript'in en önemli özelliklerinden biri, tıklama işleyicilerini anında ateşlemektir. Ben kullanmaktan daha güvenilir bir mekanizma aşağıdaki buldum location.href=''
ya location.reload()
ya 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);
}
Yukarıdaki kod da yeni sekme / pencere açmak ve tüm pop-up engelleyicileri atlamak için yararlıdır !!! Örneğin
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);
}
Bir tıklama bağlantısı gibi başka bir URL açın
window.location.href = "http://example.com";
Kullanmak zorunda window.open
mısın? Kullanmaya ne dersiniz window.location="http://example.com"
?
window.open(url, wndname, params)
, üç argümanı vardır. aynı pencerede açılmasını istemiyorsanız, sadece farklı bir wndname ayarlayın. gibi :
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).
İşte hakkında detaylar window.open()
, güvenebilirsiniz!
https://developer.mozilla.org/en/DOM/window.open
bir deneyin ~~
Html 5 ile geçmiş API'sını kullanabilirsiniz .
history.pushState({
prevUrl: window.location.href
}, 'Next page', 'http://localhost/x/next_page');
history.go();
Sonra bir sonraki sayfada durum nesnesine şu şekilde erişebilirsiniz:
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 demeti
<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=
etiketinin niteliği gibi bir adıdıra
. Aslında, pencerenizi istediğiniz gibi adlandırabilirsiniz. İhtiyacınız olan tek şey farklı bir değer ayarlamak, böylece aynı pencerede veya sekmede açılmayacak.