Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ContentFlow javascript插件不在IE中加载,但在所有非IE浏览器中加载_Javascript - Fatal编程技术网

ContentFlow javascript插件不在IE中加载,但在所有非IE浏览器中加载

ContentFlow javascript插件不在IE中加载,但在所有非IE浏览器中加载,javascript,Javascript,我一直在修补ContentFlow JavaScript库,它是iTunes中苹果专辑封面流的一个非常光滑的复制品。我正在为我妻子的网站加载40多张图片。我对幻灯片插件做了一些改进,包括42个柜台和牛仔裤供应商的标志 它非常棒,直到你在IE中看到它。事实上,对于所有非IE浏览器,它的加载速度都比Facebook的按钮快,但对于IE来说,它从来没有加载过。你所看到的只是“加载”图像。它从不在IE7中加载。IE8中25%的时间都在加载 如果我将_init函数中的警报添加到alertcf._image

我一直在修补ContentFlow JavaScript库,它是iTunes中苹果专辑封面流的一个非常光滑的复制品。我正在为我妻子的网站加载40多张图片。我对幻灯片插件做了一些改进,包括42个柜台和牛仔裤供应商的标志

它非常棒,直到你在IE中看到它。事实上,对于所有非IE浏览器,它的加载速度都比Facebook的按钮快,但对于IE来说,它从来没有加载过。你所看到的只是“加载”图像。它从不在IE7中加载。IE8中25%的时间都在加载

如果我将_init函数中的警报添加到alertcf._imagesToLoad的行前:

if (cf._imagesToLoad == 0 || new Date() - now > cf._loadingTimeout) {
然后IE挂起的某个数字小于20,通常小于10,这让我觉得IE加载42个图像的速度不如其他浏览器

我如何增加加载图像所需的时间,因为它不会接近加载时间默认值30秒

为什么在IE7和IE8中加载图像需要更长的时间?在FF、Safari和Chrome中,它就像一种魅力

奇怪的是,如果刷新IE的缓存,它在大多数情况下第一次都可以正常工作。可能是IE缓存问题


有谁知道在IE中解决这个特定库故障的好方法吗?

在我想起JQUERY之前,我一直很紧张! 通过替换通过内容元素的onload事件的attachEvent处理程序调用“foobar”函数的逻辑,我获得了相同的效果。 由于不同浏览器处理事件处理程序的方式不同,这一部分已经被许多人修改过

见以下讨论: 并用以下代码替换jbdemonte的修复程序:


$this.content.readyfunction{foobar}

我把头发拔了出来,直到想起JQUERY! 通过替换通过内容元素的onload事件的attachEvent处理程序调用“foobar”函数的逻辑,我获得了相同的效果。 由于不同浏览器处理事件处理程序的方式不同,这一部分已经被许多人修改过

见以下讨论: 并用以下代码替换jbdemonte的修复程序:


$this.content.readyfunction{foobar}

据我所知,有几个IE特有的问题

在contentflow.js文件中,有一个addReflection:函数

如果this.Browser.IE,则该行限定了某些条件逻辑。显然,IE的实现受到了图像反射的限制

我的解决方案是简单地注释掉会为IE创建反射的代码——这样做就是注释掉所有与此相关的其他内容,如果this.Browser.IE和add if!这个浏览器就在else后面

IE在决定显示ContentFlow对象之前,不等待所有图像下载完毕也存在一个问题。在节var ContentFlowItem=函数CFobj,元素中,索引{将if this.Browser.IE&&!this.content.onload替换为if!this.content.onload

最终的结果是,IE中的图像下面会丢失反射,但所有图像都会加载,更新会更加平滑

其他调整包括更改Contentflow img文件夹slider_white.png和scrollbar_white.png中两个图像文件的颜色,以帮助它们在白色背景上更好地显示


如果使用contentflow_src.js而不是最小化的js文件,`contenflow.js.

,那么检查这一点可能会更容易。据我所知,有几个IE特有的问题

在contentflow.js文件中,有一个addReflection:函数

如果this.Browser.IE.显然,IE实现阻塞了图像反射,则有一些条件逻辑由该行限定

我的解决方案是简单地注释掉将为IE创建反射的代码-这样做将是注释掉所有与此相关的else,首先是if this.Browser.IE,然后在else之后添加if!this.Browser.IE

IE在决定显示ContentFlow对象之前不等待所有图像都已下载也存在问题。在var ContentFlowItem=function CFobj,element,index{replace if this.Browser.IE&&!this.content.onload with if!this.content.onload部分中

最终的结果是,IE中的图像下面会丢失反射,但所有图像都会加载,更新会更加平滑

其他调整包括更改Contentflow img文件夹slider_white.png和scrollbar_white.png中两个图像文件的颜色,以帮助它们在白色背景上更好地显示


如果使用contentflow_src.js而不是最小化的js文件`contentflow.js.

我在IE中遇到了与contentflow类似的问题。我添加了一些自定义 ajax分页,并希望手动初始化ContentFlow。我意识到,每次我的init无法工作时,ContentFlow都是由库初始化的。我在ContentFlowGlobal.onloadInit方法中创建了此部分:

之后,我补充说:

flow.init();
那帮我修好了。 我希望这对你也有帮助


Daniel

我在IE中遇到了类似的ContentFlow问题。我添加了一些自定义ajax页面,并希望手动初始化ContentFlow。我意识到,每次我的init无法工作时,ContentFlow都是由库初始化的。我在ContentFlowGlobal.onloadInit方法中创建了此部分:

之后,我补充说:

flow.init();
那帮我修好了。 我希望这对你也有帮助

丹尼尔

flow.init();