JavaScript错误仅在IE 8中出现,但没有其他浏览器

时间:2013-02-06 09:12:14

标签: javascript internet-explorer-8

我在我的代码中使用以下函数

function viewTearSheet(creativeId) {
    var url = "/Main?event_key=new_view_test_ad&isAjaxCall=true&fromCreateAdNewDesign=tear&"+"&creativeId=" + creativeId + "&testAdClick=primary";
    day = new Date();
    id = day.getTime();
    window.open(url, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=1000,height=800,left = 320,top = 150');
}

它适用于IE8以外的所有浏览器。它在IE8中提供以下错误消息

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;
.NET CLR 2.0.50727; .NET4.0C; .NET4.0E)
Timestamp: Wed, 6 Feb 2013 07:06:38 UTC

Message: Invalid argument.
Line: 497
Char: 5
Code: 0
URI: https://test.juhu.abc.com/chakra/campaign/view.js?z=166

如何解决这个问题......提前谢谢......

2 个答案:

答案 0 :(得分:1)

字符串'" + id + "'没有有效的窗口名称 - 不允许使用空格和加号,我强烈怀疑引号。另请参阅ie8 var w= window.open() - "Message: Invalid argument."window.open throws invalid argument in IE7-8-9bwindow.open invalid argument error

答案 1 :(得分:0)

可能是红鲱鱼,但在你的代码中你有多个&符号和不需要的+任何理由尝试删除它,因为它可能是问题。

取而代之的是

 var url = "/Main?event_key=new_view_test_ad&isAjaxCall=true&fromCreateAdNewDesign=tear&"+"&creativeId=" + creativeId + "&testAdClick=primary";

Ty this

var url = "/Main?event_key=new_view_test_ad&isAjaxCall=true&fromCreateAdNewDesign=tear&creativeId=" + creativeId + "&testAdClick=primary";

在窗口名称中也只允许使用普通字符,所以如果您的日期与 - 等格式化,这也会中断,即8,尝试用普通字符串替换id,看看问题是否仍然存在。如果是这样那那就是你的问题。

请参阅Bergi的答案以获取更多信息