繁体   English   中英

IE中的页面加载,页面包含Flash标语

[英]Page load in IE, page includes flash banner

所以这就是问题所在。

我有一个由两个swf组成的flash横幅,它们通过LocalConnection相互通信,还调用外部JS函数。 (我还没有弄清楚这是重要的还是仅仅是一枚硬币。)

我也有一个外部JS文件,该文件告诉横幅广告通过flashVars做什么。 并具有横幅调用事件的功能。

可以想象,除了IE之外,其他所有方法都可以正常工作。

在IE中,我遇到了这个问题:我尝试加载一个测试页面,该页面包含很多图片和厚厚的背景(因此需要一段时间才能加载)。 然后我放置横幅,在所有这些内容之前都添加了javascript。 像这样:

http://pastebin.com/nnTuPPhN

有时在重新加载时通常不会出现一些图片。 虽然所有文本出现。

我确实尝试通过脚本进行挖掘,但是由于它不是我的脚本,因此证明有点困难,最后我得出一个结论,即使我不喜欢它的某些部分,也没有明显的问题。

FireBug和Chrome,Safari,Opera调试器不会显示任何类型的错误。

现在作为最后的手段,我将此添加到了我的JS文件中

window.onload = function()
{
    alert('The page has loaded completely');
};

结果是,当我看到所有图片时,我会看到此消息,而当我不看到时,我就不会看到。 等待图片加载无济于事。

我也找到了这个主题: window.onload()在IE 8中未启动

哪一个谈到了类似的问题,所以如果有人指定导致该问题的插件会很好呢? 引用:IE插件之一在禁用它的正常运行后创建了此问题。 感谢您的时间和答复:)

只要不是Flash插件=)))

我以这种方式检查网页上的Flash插件:

var ad_checkPlugin = function(){
    // From SWFObject v2.2 <http://code.google.com/p/swfobject/>

    if (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] == "object") 
    {
        d = navigator.plugins["Shockwave Flash"].description;
        return (d && !(typeof navigator.mimeTypes != "undefined" && navigator.mimeTypes["application/x-shockwave-flash"] && !navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin))
    }

    else if (typeof window.ActiveXObject != "undefined")
    {
        try
        {
            var d = new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");
            // new window.ActiveXObject(...) will return null if ActiveX is disabled
            return d?true:false;
        } 
        catch(e) 
        {
            return false;
        }
    }
}

还有另一种在Ie中引起相同问题的方式,所以我想这不是插件检查的问题。

如果您能告诉我一些可能导致此类问题的一般信息,我将非常高兴。如果您需要,我也可以在脚本中刊登广告。

而且,如果您告诉我一些具体的问题,我会变得更加开心=)),如果您要说脚本中存在问题,我将无法同意或不同意我所选择的内容,浏览器不会看到也是问题。 但是它必须在某个地方,因为它不起作用。

更新:我现在在我的JS中的每个位置也有警报,现在我所看到的是这样:例如在FF中,有时我会看到警报

alert('The page has loaded completely');

但是当弹出另一个警报时,我没有任何时间单击此按钮(单击“确定”)。 这是警报的正常现象吗? 我应该补充说,许多警报都在横幅调用的函数中。

更新2:

我进一步隔离了该问题,我完全停止了从Flash到JS函数的所有调用(首先我尝试将它们替换为alert(“ hello world”);这对加载问题没有帮助)。

现在,当flash不调用JS时,页面加载就可以了。 当然,我需要闪光灯才能调用外部函数。

无论如何,新问题:从flash调用的javascript可以使IE认为所有内容都已加载并且可以停止,就是这样的事情:

clean your room (and two seconds later)

now brush your teeth

result: the room is half clean but the teeth are

我可能会补充说,无论页面上加载了什么,总会加载一些东西:文本,将来图片的空格,但这可能只是巧合,除此之外,对于已加载和未加载的内容根本没有任何系统。

--------------------------->发现答案谢谢)))对我的问题进行投票,这是答案专家! Flash中使用的功能即

getURL("javascript: ...","");

是什么实际上阻止了页面的加载! 嗯,而不是这个,最好使用ExternalInterface(); 我要指出的是,我们在AS3.0中谈论的是AS 2.0,毫无疑问应该使用ExternalInterface,因为getURL现在是navigationTo或smthg。

感谢编写此AS的人意识到问题所在=)

只需从上方复制anwser即可解决问题

Flash中使用的功能即

getURL(“ javascript:...”,“”); 是什么实际上阻止了页面的加载! 嗯,而不是这个,最好使用ExternalInterface(); 我要指出的是,我们在AS3.0中谈论的是AS 2.0,毫无疑问应该使用ExternalInterface,因为getURL现在是navigationTo或smthg。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM