在IE中Colorbox不能正确加载
Colorbox not loading properly in IE
我已经找到了一个解决方案,但它不是最好的,所以我仍然在寻找一个解决方案。请看我所做的回答。
UPDATE -我的错误持续如下所述,但如果我打开IE的开发人员工具错误消失!如果我关闭浏览器并重新打开该错误再次出现!
UPDATE 2 -我试图将以下代码插入到我的JS中,看看是否会解决问题,它没有:
if (!("console" in window) || !("firebug" in console)) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0, len = names.length; i < len; ++i) {
window.console[names[i]] = function(){};
}
}
然后这个:
var console = {};
console.log = function(){};
我还扫描了我的JS文件,从未遇到会导致错误的console.log函数。
这是一个令人费解的问题,我将尽力解释清楚。我在一个页面中设置cookie,将在第一次访问时显示一个灯箱。它在FF, Chrome等中工作得很好,但在IE中不行。
在IE中发生的事情是调用我的lightbox (colorbox)火灾的脚本,但我所看到的是AJAX加载器旋转和内容从未加载。我发现剧本开得太快了。我使用的是$j(document).ready(function()
,我切换到:$j(window).load(function()
,一切似乎都很好,它正常工作,直到我从另一个页面开始,来到上面提到的页面。
如果我开始在任何其他页面上点击链接,我有同样的问题!饼干工作正常,不会再次点燃盒子。
换句话说,如果我清除cookie并从有问题的页面开始,那么就没有问题了。但是如果我从任何其他页面(清除cookie)开始,然后转到上面的页面,colorbox不能正确加载。
据我所知,$j(window).load(function()
不能正常工作。
我没有收到来自IE的错误。我使用ie8进行测试,无法测试9,因为我使用的是Windows XP。(我被告知它在IE 9中工作正常,但尚未证实这一点)脚本在我的文档的<head>
。(如果我把脚本移动到<body>
,它完全打破了页面。)
我读过DOCTYPE
在IE中不正确或缩短和色框问题的问题。我的DOCTYPE如下,应该是正确的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
任何想法或想法都非常感谢!
下面是我使用的代码:
Javascript
var $j = jQuery.noConflict();
$j(window).load(function() {
//window.onload = function() does not function properly either...
if(!$j.cookie('gallerycookie')){
$j.colorbox({
inline:true,
href:"#gallery-nav-instruct"
});
$j.cookie("gallerycookie", 1, {
expires: 30,
path: '/'
});
}
});