IE中的页面加载,页面包含flash横幅

时间:2011-08-01 10:14:58

标签: javascript flash internet-explorer

所以这就是问题所在。

我有一个由两个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() is not firing with IE 8 in first shot

讨论类似的问题,所以如果有人指定插件可以导致这个问题会很好吗?引用:其中一个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;
        }
    }
}

还有另一种方法导致了同样的问题,所以我想这不是插件检查的问题。

如果你告诉我可能导致这些问题的一般事情,我会很高兴,如果你们要求,我也可以通过剧本。

如果你告诉我特定的事情,我会更高兴=)),如果你要说问题在脚本中,我将无法同意或不同意我已经嘲笑并且没有看到任何问题,浏览器也没有问题。但它必须在某处,因为它不起作用。

更新:我现在也在我的JS的每个地方发出警报,现在我见证的是:例如在FF中,有时我看到警报

alert('The page has loaded completely');

但是当我弹出另一个警告时,我不会有任何时间点击这个(点击确定)。这对警报来说是正常的吗?我应该补充说,许多警报都在横幅调用的功能中。

更新no2:

我已经解决了这个问题甚至更多我停止了从闪存到JS函数的任何调用(首先我试图用alert(“hello world”)替换它们;这对加载问题没有帮助)。

现在当flash没有调用JS时,页面加载就好了。当然我需要flash来调用外部函数。

无论如何新问题:从flash调用javascript可以让IE认为一切都已加载并且它可以停止,这可能是这样的:

clean your room (and two seconds later)

now brush your teeth

result: the room is half clean but the teeth are

我可能会补充一点,无论页面上有什么负载,有些东西总是加载:文本,未来图片的空间,但这可能只是一个coincedence,除此之外根本没有系统,什么没有加载。

---------------------------&GT;找到了ANWSER 谢谢)))投票给我的问题,这是anwser家伙!闪存中使用的功能即

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

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

感谢编写此AS的人知道问题是什么=)

1 个答案:

答案 0 :(得分:0)

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

  

闪存中使用的功能

     

getURL(“javascript:...”,“”);是什么实际上停止了页面   装!嗯,而不是这个,最好使用ExternalInterface();   我会指出我们在AS3.0中谈论AS 2.0没有   问题是应该使用ExternalInterface,因为现在是getURL   navigateTo或smthg。