window.open не работает правильно в IE - PullRequest
0 голосов
/ 31 мая 2011

У меня большая проблема с IE (проверенные версии 6 и 8). Метод Window.open корректно работает в FF, Opera, Chrome. IE открывает новое окно, но загружает тот же URL в главном окне. Я знаю, что одним из решений может быть удаление URL из href, но мне нужно это для случая отключения JS. Также мне нужно позиционирование для нового окна.

IE "консоль ошибок" говорит: доступ запрещен.

<script type="text/javascript">
function regForm()
{
var left = Math.abs((window.innerWidth - 550) / 2);
var top = Math.abs((window.innerHeight - 600) / 2);
window.open("http://somepage.html", "Signin", "width=550,height=600,scrollbars=1").moveTo(left, top);
}           
</script>
<a class="ibm-b1-bttn" href="http://somepage.html" onclick="javascript:regForm(); return false;">Register Now</a>

Пожалуйста, помогите мне, это очень важно для меня. Большое спасибо!

Ответы [ 3 ]

0 голосов
/ 31 мая 2011

Освободите вызовы функций Windows и посмотрите, какой из них на самом деле выдает ошибку:

var myWin = window.open("http://somepage.html", "Signin", "width=550,height=600,scrollbars=1");
myWin.moveTo(left, top);

window.open не должен выдавать эту ошибку.Могу поспорить, что это переезд?

0 голосов
/ 09 апреля 2014

Вы можете использовать эту работу, чтобы исправить это.Сначала откройте пустое новое окно, переместите его, затем измените местоположение.Похоже, что-то связано с проблемами безопасности IE:

Метка привязки:

<a class="ibm-b1-bttn" href="#" onclick="regForm();">Register Now</a>

JS Функция:

function regForm() {
        var left = Math.abs((window.innerWidth - 550) / 2);
        var top = Math.abs((window.innerHeight - 600) / 2);
        var win = window.open("", "Signin", "width=550,height=600,scrollbars=1")
        win.moveTo(left, top);
        win.location = "http://somepage.html";
    }   
0 голосов
/ 31 мая 2011

Можете ли вы попробовать ссылаться на URL без HTTP?поэтому somepage.html или \somepage.html в зависимости от того, где находится файл на вашем сервере?

...