0

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

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

我该如何解决这个..提前谢谢..

4

2 回答 2

1

该字符串'" + id + "'不是有效的窗口名称 - 不允许使用空格和加号,我强烈怀疑引号是。另请参阅ie8 var w= window.open() -“消息:无效参数”。, window.open 在 IE7-8-9b 中抛出无效参数window.open 无效参数错误

于 2013-02-06T09:18:18.590 回答
0

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

取而代之的是

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

泰这个

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

此外,窗口名称中只允许使用普通字符,因此如果您的日期格式为 - 等,这也会中断 ie 8,请尝试用普通字符串替换 id 并查看问题是否仍然存在。如果是这样,那就是你的问题。

有关更多信息,请参阅 Bergi 的答案

于 2013-02-06T09:18:25.833 回答