收录日期:2020/12/02 23:48:02 时间:2010-09-07 20:42:08 标签:javascript,jquery,html,internet-explorer,window.open

Apparently, this call to window.open is not valid under Internet Explorer. The Javascript code on my site is not running, I would assume it is due to that error.

The line it tells me the error is on, is the call to window.open, apparently an argument is not valid there.

$('.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); 
        }
    );

The site runs fine under both Google Chrome, and Firefox.

In IE, you can't have spaces in your second variable (the new window's name).

Try:

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

Also worth re-iterating that IE9 (and possibly below) doesn't like hyphens ('-') in the window name (2nd parameter).

I know one of the comments mentioned this, but it's a bit buried - and it's one tip that just solved an issue for me.

I'm not sure what config is, you just need:

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

Keep in mind though, it looks like your id attribute is invalid to get the effect here, you probably want to use something different, e.g. data-href="urlHere" on the element, if it's not an anchor already.

even thou it's kind a late with answer for OP, but for someone else stumbling across this post it might help:

Had exactly same problem as OP after trying to use "window.open" method. It turns out that Chrome is ok with original href tag with URL in it where IE seems to get confused with that. After removing href from link worked spot on.

CODE SAMPLE:

$(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');
        });

    });