【问题标题】:JavaScript error coming only in IE 8 but no other browser [duplicate]JavaScript 错误仅出现在 IE 8 中,但没有其他浏览器 [重复]
【发布时间】:2013-02-06 09:12:13
【问题描述】:

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

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

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

【问题讨论】:

  • 你的代码中第 497 行有什么内容?
  • 第 497 行是带有window.open 的那一行,我需要猜一下吗?

标签: javascript internet-explorer-8


【解决方案1】:

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

【讨论】:

  • 是的。将此(url, '" + id + "', 'tool... 更改为(url, 'win' + creativeId, 'tool...
【解决方案2】:

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

改为关闭这个

 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-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多