window.open无法在IE中工作

时间:2010-09-07 20:38:21

标签: javascript jquery html internet-explorer window.open

显然,对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 个答案:

答案 0 :(得分:45)

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

尝试:

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

答案 1 :(得分:6)

还值得重新尝试IE9(可能在下面)不喜欢窗口名称(第二个参数)中的连字符(' - ')。

我知道其中一条评论提到了这一点,但它有点被埋没了 - 而且这只是为我解决问题的一个提示。

答案 2 :(得分:3)

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

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

请注意,看起来您的id属性无法在此处获得效果,您可能希望使用不同的内容,例如{@ 1}}元素,如果它不是锚点。

答案 3 :(得分: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');
        });

    });