2010-08-30 4 views
0

Я пытаюсь открыть местоположение в новом окне (вкладка) с помощью window.open. Он не работает в хроме. Сначала я попытался использовать window.open (url, name), это не сработало, однако это работает в любом другом браузере. Затем я использовал что-то вроде этого:window.open не работает в chrome 6

var w = window.open("about:blank"); 
w.opener = null; 
w.document.location = url; 

Это открывает URL-адрес на той же вкладке, но не на отдельной вкладке.

+0

Маленький значок блокировщика всплывающих окон пропустил мой глаз. Спасибо, ребята ... :) – Harsha

ответ

4

Вы уверены, что это всплывающее окно не блокируется? Большинство всплывающих окон, которые не произошли в ответ на пользовательское событие, будут заблокированы. Я набрал window.open («google.com», «_blank») в консоли, и я получил заблокированное окно на панели URL.

1

ли это так

window.open(url, "_blank"); 

Помните, что второй параметр аналогичен атрибуту якорного тега target.

+0

Питер, это не работает :(Я не использую привязывающий тэг, его флеш, при нажатии, url должен открыться на новой вкладке. – Harsha

+1

Хром, вероятно, блокирует его. –

0

Попробуйте это. Работает в IE8, терпит неудачу в FF, когда всплывающие окна блокируются

<html> 
<head> 
<script type="text/javascript"> 
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click) 
HTMLElement.prototype.click=function(){ // event by Jason Karl Davis 
var evt = this.ownerDocument.createEvent('MouseEvents'); 
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null); 
this.dispatchEvent(evt); 
} 
function loadAndClick(url,target) { 
    var lnk = document.createElement("a"); 
    lnk.href=url; 
    lnk.target=target||"_blank" 
    lnk.id="myLink" 
    lnk.onclick=function() { 
    var w = window.open(this.href,this.target); 
    return (w)?false:true; 
    } 
    document.body.appendChild(lnk); 
    document.getElementById('myLink').click(); 
// lnk.click(); 
} 
window.onload=function() { // or call getURL("javascript:loadAndClick('http://www.google.com')"); 
    loadAndClick("http://www.google.com"); 
} 
</script> 
</head> 
<body> 
</body> 
</html> 
0

Создать страницу перенаправления (например Redirect.aspx).

window.open('Redirect.aspx?URL=http://www.google.com', '_blank'); 

На странице Redirect.aspx, перенаправлять на URL, указанный в QS ...

Это работало лакомство для меня с Chrome блокирует мои новые окна.

+0

Я не заставляю локальные файлы игнорировать блокировщик всплывающих окон, то есть открытие файла в /some-file.php по-прежнему вызывает блокировку всплывающих окон Chrome. Chrome v.20. –

Смежные вопросы