Я хочу відкрити посилання в тому ж вікні і в тій самій вкладці, що містить сторінку із посиланням.
Коли я намагаюся відкрити посилання за допомогою window.open
, тоді воно відкриється в новій вкладці, а не в тій самій вкладці в тому ж вікні.
Я хочу відкрити посилання в тому ж вікні і в тій самій вкладці, що містить сторінку із посиланням.
Коли я намагаюся відкрити посилання за допомогою window.open
, тоді воно відкриється в новій вкладці, а не в тій самій вкладці в тому ж вікні.
Відповіді:
Вам потрібно використовувати атрибут імені:
window.open("https://www.youraddress.com","_self")
Редагувати : URL-адреса має бути попередньо встановлена протоколом. Без цього намагається відкрити відносну URL-адресу. Випробувано в Chrome 59, Firefox 54 та IE 11.
_self
згадується в розділі 5.1.6 Перегляд контексту імен на Рекомендації W3C HTML5 28 жовтня 2014 по адресою: w3.org/TR/html/browsers.html#browsing-context-names (але window.location
все ще чистіше).
Використовуй це:
location.href = "http://example.com";
Для того, щоб переконатися, що посилання відкривається в одній вкладці, слід скористатися window.location.replace()
Дивіться приклад нижче:
window.location.replace("http://www.w3schools.com");
Ви можете перейти на ту саму сторінку, не вказуючи URL:
window.open('?','_self');
Однією з найвідоміших особливостей javascript є запускати обробників 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);
}
Наведений вище код також корисний для відкриття нової вкладки / вікна та обходу всіх блокаторів спливаючих вікон !!! Напр
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);
}
Відкрийте іншу URL-адресу, як натискання посилання
window.location.href = "http://example.com";
Чи потрібно використовувати window.open
? Що з використанням window.location="http://example.com"
?
window.open(url, wndname, params)
, має три аргументи. якщо ви не хочете, щоб воно відкривалося в одному вікні, просто встановіть інше ім'я wnd. як от :
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/uk/DOM/window.open
спробувати ~~
З html 5 ви можете використовувати API 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)
}
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
vue demo
<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=
тегуa
. Насправді ви можете назвати своє вікно все, що завгодно. Все, що вам потрібно, встановіть його інше значення, так що воно не відкриється в одному вікні чи вкладці.