Chrome中的JQuery窗口宽度不正确

时间:2009-05-20 13:35:09

标签: jquery google-chrome window width

我已经创建了一个插件,我已经减少了插件的简单(即没有功能,只是结构)来调试这个问题,它仍然存在。它处理调整div的大小并将其基于文档的宽度。

问题是报告的文档宽度从实际宽度减少了17px,因此没有正确调整div的大小。

我已发出警报以找出问题发生的位置: 在“就绪”功能之前:1780px(正确宽度) 在“准备”功能内:1763px 插件内:1763px (从“document.width”和“$(document).width()”返回的所有值具有相同的结果)

这只发生在Chrome中,并且即使插件减少到实际上也没有。

有关为何发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:3)

取自jQuery documentation

  

虽然JavaScript提供了负载   用于在页面执行代码的事件   渲染,此事件没有得到   触发,直到所有资产如   图像已被完全接收。   在大多数情况下,可以运行脚本   一旦DOM层次结构出现了   完全构造。处理程序通过   到.ready()保证是   在DOM准备好之后执行,所以   这通常是最好的地方   附加所有其他事件处理程序和   运行其他jQuery代码。使用时   依赖于CSS值的脚本   风格属性,这很重要   引用外部样式表或   之前嵌入样式元素   引用脚本。

     

在代码依赖于加载的情况下   资产(例如,如果维度   图像是必需的),代码   应该放在一个处理程序中   改为加载事件。

你可能应该使用

$(window).load(function() {});

作为触发事件

答案 1 :(得分:2)

我发现jQuery(window).width()在Safari和Chrome中返回了错误的值。