jquery - 使用 Opera 加载 jQuery 后

标签 jquery html css background opera

我正在加载 jQuery,它导致 Opera(以及单独的 Opera)中出现 CSS 错误。我创建了一个JSFiddle来演示。

使用一些 CSS 来设置 HTML 和 BODY 标记的样式,例如:

html {
    background: #6B9AB6;
}

body {
    background: white;
    max-width: 10em;
}

然后加载 jQuery(使用简单的 setTimeout 进行演示):

setTimeout(function(){

    var script_tag = document.createElement('script');
    script_tag.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';

    var script_sib = document.getElementsByTagName('script')[0];
    script_sib.parentNode.insertBefore(script_tag, script_sib);

}, 2000);

导致显示正确的 CSS,然后闪现到无样式的 HTML 标记。使用 Opera 的 DragonFly 并更改 background-attachmentbackground-origin 可以动态修复此问题。如果您以编程方式执行此操作,则情况并非如此。

有没有办法让 Opera 与后加载的 jQuery 一起工作?如果您有任何想法,请随时更新 JSFiddle。

最佳答案

这是 jQuery 1.6 版本中的回归; jQuery version 1.5.2 works just fine .

目前有is a patch通过阿德蒂:

The bug can be resolved on ligne [line number] 1288 from jquery-1.6.1.js.

Replace :

"documentElement.insertBefore( body, documentElement.firstChild );"

by

"documentElement.appendChild( body );"

如果您自行托管该库,这会产生奇迹。

编辑:版本 1.6.2 已修复此问题(当前位于 jQuery's GIT 存储库中)。

关于jquery - 使用 Opera 加载 jQuery 后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6428868/

相关文章:

Javascript toFixed 不工作

php - 向 PHP/HTML 循环添加不同的数据 ID

html - CSS 下拉导航链接局促

jquery - 当在ready()内部时,我可以添加函数吗?

javascript - 如何像列表一样对 div 进行编号,但要复制每个数字并在末尾添加 A 和 B

javascript - .height() 以百分比返回高度,如何以像素为单位获取它

javascript - 获取 php 请求的 html 元素值时出现问题

html - CSS 媒体查询无法正常工作

asp.net - 我应该在哪里 Bootstrap 我的网站?

jquery - 删除 <div> 中的文本