Я намагаюся «змусити» Safari або IE7 відкрити нову сторінку за допомогою нової вкладки .
Я програмно маю на увазі щось на кшталт:
window.open('page.html','newtaborsomething');
Я намагаюся «змусити» Safari або IE7 відкрити нову сторінку за допомогою нової вкладки .
Я програмно маю на увазі щось на кшталт:
window.open('page.html','newtaborsomething');
Відповіді:
Ви не можете безпосередньо контролювати це, оскільки це варіант, який контролюють користувачі Internet Explorer.
Відкривання сторінок за допомогою Window.open з іншим іменем вікна відкриється в новому вікні браузера, як спливаюче вікно, АБО відкриється на новій вкладці, якщо користувач налаштував браузер для цього.
Ви можете у Firefox, що він працює, додати атрибут target = "_ newtab" до якоря, щоб примусити відкрити нову вкладку.
<a href="some url" target="_newtab">content of the anchor</a>
У JavaScript ви можете використовувати
window.open('page.html','_newtab');
Сказав, що я частково погоджуюся з Семом. Не слід змушувати користувача відкривати нові сторінки або нову вкладку, не показуючи їм підказки щодо того, що буде, перш ніж натиснути на посилання.
Повідомте мене, чи працює він і в іншому браузері (на даний момент у мене немає можливості спробувати його в іншому браузері, крім Firefox).
Редагувати: додано посилання на ie7 Можливо, це посилання може бути корисним
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
Ті, хто намагається використовувати наступне:
window.open('page.html', '_newtab');
дійсно слід подивитися на метод window.open.
Все, що ви робите, - це наказати браузеру відкрити нове вікно "ІМЕНЕНО" _newtab "та завантажити сторінку.html у нього. Кожна нова сторінка, яку ви завантажуєте, завантажиться у це вікно. Однак якщо у користувача встановлений браузер для відкриття нових сторінок на нових вкладках замість нових вікон, він відкриє вкладку. Незважаючи на це, воно використовує те саме ім’я для вікна або вкладки.
Якщо ви хочете, щоб різні сторінки відкривались у різних вікнах чи вкладках, вам доведеться змінити ІМЕНЬ нового вікна / вкладки на щось інше, наприклад:
window.open('page2.html', '_newtab2');
Звичайно, ім'ям нового вікна / вкладки може бути будь-яке ім’я, наприклад page1, page2, page3 тощо, а не _newtab2.
Користувач залежить від того, хочуть вони використовувати нові вкладки чи нові вікна, розробник не має модифікувати цю поведінку. Я не думаю, що ти можеш це зробити.
Моя домашня тварина - я ненавиджу це, коли сайти змушують мене відкриватися в новому вікні / вкладці - я цілком здатний прийняти це рішення для себе. Особливо, коли вони роблять це в JavaScript - це справді не корисно.
Ви вже намагалися, як
var open_link = window.open('','_blank');
open_link.location="somepage.html";
Я дізнався в Chrome,
window.open('page.html','_newtab')
буде працювати лише один раз.
Ви можете використовувати:
window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));
Щоб відкрити кілька нових вкладок.
Код, який я використовую у jQuery:
$("a.btn_external").click(function() {
url_to_open = $(this).attr("href");
window.open(url_to_open, '_blank');
return false;
});
Це корисно для розрізнення подій клацання батьків у дитини. Використовуючи цей метод, ви не запускаєте події клацання батьків.
<a href="page.html" target="_blank">foo</a>
Це працює 100%
window.open('http://www.google.com/','_newtab' + Date.now());
Якщо ви хочете, ви могли б скористатися цим методом, який трохи хакітний, але запропонував би бажаний функціонал:
jQuery('<a/>', {
id: 'foo',
href: 'http://google.com',
title: 'Become a Googler',
rel: 'external',
text: 'Go to Google!',
target:'_blank',
style:'display:none;'
}).appendTo('#mySelector');
$('#foo').click()
Це може спрацювати, якщо ви можете викликати пакетний файл (я використовую php з XP sp2 та IE8 ... ви можете спробувати IE7, не знаю). Використовуйте наступне (або подібне) у вашому файлі .bat, щоб відкрити Windows: Запустіть "" C: \ Progra ~ 1 \ Intern ~ 1 \ iexplore "http://www.site.com". Між лапкою і C: \ Progr ... і т. Д. Немає пробілу. У якийсь момент це може почати відкривати нові вікна (тобто, target = "_ blank"), а не нові вкладки, але працює до точки; недостатньо перевірений. Щоб використовувати це у звичайному пакетному файлі (CMD.exe), вам, ймовірно, потрібно відкрити вікно. Просто ділитися чимось, на що я натрапив. ЗДОРОВИЛ для уточнення.
<a href="http://www.google.com/" target="_self">New Tab Example</a>
Працює в IE7.
З повагою,
Гленн