Подтвердить что ты не робот

Window.open не работает в IE

По-видимому, этот вызов window.open недействителен в Internet Explorer. Код Javascript на моем сайте не работает, я бы предположил, что это связано с этой ошибкой.

В строке, на которой он говорит, что ошибка включена, является вызовом window.open, по-видимому, аргумент там недействителен.

$('.objeto').click( 
        function() {
            var center   = 'height=380,width=900,top='+((screen.width - 900)/2)+',left='+((screen.height - 380)/2);
            var address = $(this).attr('id');
            window.open (address,'Ver articulo', config=center); 
        }
    );

Сайт работает отлично как в Google Chrome, так и в Firefox.

4b9b3361

Ответ 1

В IE вы не можете иметь пробелы во второй переменной (новое имя окна).

Try:

window.open (address,'Ver_articulo', config=center); 

Ответ 2

Также стоит повторить итерацию того, что IE9 (и, возможно, ниже) не любит дефисы ('-') в имени окна (2-й параметр).

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

Ответ 3

Я не уверен, что такое config, вам просто нужно:

window.open (address,'VerArticulo', center);

Имейте в виду, что, похоже, ваш атрибут id недействителен, чтобы получить эффект здесь, вы, вероятно, захотите использовать что-то другое, например. data-href="urlHere" для элемента, если он уже не является якорем.

Ответ 4

даже ты, вроде бы, опаздываешь с ответом на ОП, но для кого-то другого, спотыкаясь об этом посте, это может помочь:

Имел точно такую ​​же проблему, как и ОП после попытки использования метода window.open. Оказывается, Chrome в порядке с оригинальным тегом href с URL-адресом в нем, где IE, похоже, запутался в этом. После удаления href из обработанного пятна ссылки.

ОБРАЗЕЦ КОДА:

$(document).ready(function () 
{
    $('a[rel^="external"]').each(function () 
    {
        var externalLink = $(this);
        var externalLinkValue = externalLink.attr("href");
        externalLink.unbind('click');
        externalLink.removeAttr("href");

        externalLink.click(function (event)
        {
            event.preventDefault();
            followExtrenalLink = window.open(externalLinkValue,'_blank');
        });

        externalLink.hover(function ()
        {
            externalLink.css('cursor', 'pointer');
        });

    });