25

显然,此调用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 下运行良好。

4

4 回答 4

49

在 IE 中,第二个变量(新窗口的名称)中不能有空格。

尝试:

window.open (address,'Ver_articulo', config=center); 
于 2010-09-07T20:39:29.997 回答
7

同样值得重申的是,IE9(可能在下面)不喜欢窗口名称(第二个参数)中的连字符('-')。

我知道其中一条评论提到了这一点,但它有点被埋没了——这是一个刚刚为我解决了一个问题的小贴士。

于 2013-07-11T09:53:27.883 回答
3

我不确定配置是什么,你只需要:

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

但请记住,您的属性似乎id无法在此处获得效果,您可能想要使用不同的东西,例如data-href="urlHere"在元素上,如果它还不是锚点。

于 2010-09-07T20:43:58.310 回答
0

即使你对 OP 的回答有点晚了,但对于其他偶然发现这篇文章的人来说,它可能会有所帮助:

尝试使用“window.open”方法后遇到与 OP 完全相同的问题。事实证明,Chrome 可以使用带有 URL 的原始 href 标记,而 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');
        });

    });
于 2016-02-03T14:27:50.737 回答