IE7显示奇怪(附例)

时间:2009-04-09 16:45:17

标签: javascript internet-explorer

我正在开发一个基于Javascript的Flash applet替代品。该网站只在IE中出现渲染问题,在这种情况下,它表现出的行为让我有了最后的结果。

http://janetalasher.com/new/content/portfolio/artcloth/(这是页面)

IE做什么这么奇怪(仅在这种情况下)?如果您查看Firefox,您会在右侧看到一个包含缩略图的图像表。 IE6和IE7不显示此... 除非您处于打印预览状态。这不是一个CSS故障 - 我已禁用所有样式表,但错误仍然存​​在。我会提供更相关的源代码,但我甚至不知道问题出在哪里。我怀疑的.js文件(如果有任何帮助)是:

/common/gallery/display.js
/common/gallery/loader.js

好的 - 更新:它只能在打印预览模式下正确呈现。有人向我解释这是怎么回事? div以正常模式存在,但表不会呈现。使用IE开发人员工具栏确认它并且所有单元格都存在。

4 个答案:

答案 0 :(得分:2)

尝试在此处添加分号:

function loadGallery(xml)
{
    thumbpath = $(xml).find("thumbpath").attr('dir') // add here
    imagepath = $(xml).find("imagepath").attr('dir') // here
    detailpath = $(xml).find("detailpath").attr('dir') // and here
    cSheet = contactSheet(xml);
    $('.contactSheet')[0].appendChild(cSheet);    
            display($(cSheet).find('img')[0]);
}

另外,在这一行:

jQuery.get('/new/content/portfolio/artcloth/gallery.xml' , 'xml' , function(data) { loadGallery(data); } ) // missing one here too

实际上,你的Javascript文件最后也缺少分号。确保浏览每个文件并在每行的末尾添加一个文件。

Javascript实际上并不需要它们,但为了理智并且确切地知道你的代码是什么,最好将它们放入。例如:

return
1

可以成为:

return;
1;

什么都不返回,不完全是预期的效果。

答案 1 :(得分:2)

根据Microsoft脚本编辑器,jQuery内部存在由此行引起的错误:

$('#lower').css('padding-left' , paddingLeft - (lowerRightProtrusion < 0 ? 0 : lowerRightProtrusion) + "px");

因为lowerRightProtogress是NaN,并且NaN < 0计算为false,您实际上将padding-left设置为“NaNpx”。不计算;)

有关MS脚本编辑器的信息,请参阅我之前的答案: Using the IE8 'Developer Tools' to debug earlier IE versions

答案 2 :(得分:0)

似乎IE没有采用这些风格。如果我以chrome打开页面,则说明div上会出现“float:left”样式。但是,在IE中并非如此。

您目前在文档正文中包含div。如果可以尝试将它们移动到头部。我正在谈论div id =“pageHead”的直接后代的链接和脚本标签。

(我正在使用IE6和开发人员工具栏来获取此信息)

答案 3 :(得分:0)

/common/css/generic.css

div#information 
{
margin-left:188px;
m\argin-left:94px; <------ not sure if that would cause this, but thought i would point it out 
}