2015-08-07 3 views
0

Следующий код не работает для Edge, хотя он работает и для других браузеров.Ссылка return by window.open() не определена в Edge браузере

function postLink(locn, trgt) { 
 
    a = document.createElement("a"); 
 
    a.id = 'link'; 
 
    a.targt = trgt; 
 
    a.href = locn; 
 
    var newwin = window.open(a); 
 
    newwin.opener = newwin; 
 
}
<a onclick="postLink('http://www.google.com','_blank');return false;">ClickMe</a>

newwin Это дает это undefined. В то время как для Edge работает window.open(). Любое объяснение/помощь будут оценены.

+0

Я не думаю, что вы можете передать элемент 'a' в качестве аргумента для этой функции ион. Это занимает до трех строк. https://developer.mozilla.org/en-US/docs/Web/API/Window/open. Кроме того, я думаю, что то, что вы делаете, лучше выполнить, установив 'target = '_ blank'' в элемент' 'и просто установив' href' на google.com - поэтому нет javascript. – Katana314

+0

Так как код работает для другого браузера. Полагаю, мы сможем это сделать. Кроме того, реализация является частью другой крупной программы, но она разбивается на этот фрагмент кода. Спасибо за быстрый ответ. –

+1

Я получаю 'InvalidAccessError: параметр или операция не поддерживается базовым объектом' в Firefox. Почему перед 'a' нет ключевого слова' var'? И 'Открыть' определенно не определено. Вы имеете в виду 'open'. – Xufox

ответ

0

Из window.open() документы:

Syntax: window.open(URL,name,specs,replace)

http://www.w3schools.com/jsref/met_win_open.asp

Итак, почему бы не упростить код для этого:

<a onclick="window.open('http://www.google.com','_blank');">ClickMe</a> 

https://jsfiddle.net/3aaLjjoh/

+0

Я не могу сделать это как настраиваемый кусок кода для большой программы, где у пользователя будет возможность выбрать целевой тип. –