Internet Explorer中的参数无效

时间:2010-08-09 19:01:15

标签: javascript internet-explorer

当我在任何版本的IE浏览器中查看我正在处理的网站时,我会收到错误消息,并且唯一似乎加载的是背景。真的不确定如何修复这个,我甚至不确定错误是什么意思。

错误是第117行的无效参数。

它在Firefox,Safari和Chrome中运行良好。

以下是网址:http://streamlinehome.com/wordpress/

4 个答案:

答案 0 :(得分:6)

117指向jQuery文件。 在if(e)f [b] = d;

中调试错误发生的代码
  • b是“width”
  • d是“NaNem”

回到CallStack,你在这里调用jQuery方法

supersubs.js中的第63行:

$ul.css('width',emWidth);

查看几行,您会看到有关clientWidth的评论,这可能是麻烦开始的地方。 :)

var emWidth = $ul.add($LIs).add($As).css({
    'float' : 'none',
    'width' : 'auto'
 })
 // this ul will now be shrink-wrapped to longest li due to position:absolute
 // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
 .end().end()[0].clientWidth / fontsize;
 // add more width to ensure lines don't turn over at certain sizes in various browsers

所以再看一下这行... end()[0] .clientWidth返回0而fontsize = 0所以你有0/0就是NaN

答案 1 :(得分:3)

我无法为您的问题提供完整的答案,但我可以告诉您为什么会收到“无效参数”错误。

简而言之,IE正试图将元素的宽度设置为"NaNem"。尝试执行此操作将导致IE生成“无效参数”错误。

但是为什么IE试图将这个元素的宽度设置为这个荒谬的值?此宽度首先出现在supersubs插件中的函数中。以下代码尝试使用当前字体查找em-dash的宽度($$包含<ul>元素):

var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
    'padding' : 0,
    'position' : 'absolute',
    'top' : '-999em',
    'width' : 'auto'
}).appendTo($$).width(); //clientWidth is faster, but was incorrect here

但是,IE将fontsize计算为0。

稍后,使用此变量的值:

var emWidth = $ul.add($LIs).add($As).css({
    'float' : 'none',
    'width' : 'auto'
})
// this ul will now be shrink-wrapped to longest li due to position:absolute
// so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
.end().end()[0].clientWidth / fontsize;

此处似乎clientWidth也是0,因此这会为emWidth提供值NaN

最后,以下内容将“em”单元添加到emWidth(因此NaNem),并尝试将<ul>的宽度设置为"NaNem"。 IE没有这个并且给你'无效参数'错误:

emWidth += 'em';
// set ul to width in ems
$ul.css('width',emWidth);

但是,我担心我不能说为什么IE为fontsize返回0。我猜测一下superubs插件中的一个潜在错误 - 或许在jQuery论坛上讨论这个问题,或者,正如超级插件本身所暗示的那样,jQuery Google Group?

答案 2 :(得分:0)

似乎是在64位操作系统上运行的Internet Explorer 32位问题。试图运行IE 64位不会发生。

答案 3 :(得分:-1)

尝试在文件名周围添加一个'。

    #header {
        background-image: url(images/header-plain.png);
    }

w3schools的示例显示了引用的文件名: http://www.w3schools.com/css/pr_background-image.asp