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

标签 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;
        }
    }
}

还有另一种在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

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

--------------------------->找到答案
谢谢)))为我的问题投票,这是anwser伙计们! Flash中使用的功能即
getURL("javascript: ...","");

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

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

最佳答案

只是从上面复制答案,这样问题就解决了

The function used in flash namely

getURL("javascript: ...",""); is what actually stops the page from loading! Hm, rather than this it's better to use ExternalInterface(); I'll point out we are talking about AS 2.0 in AS3.0 there is no question that ExternalInterface should be used, since getURL is now navigateTo or smthg.

关于javascript - IE中的页面加载,页面包含Flash标语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6896980/

相关文章:

javascript - 如何在 ReactJS 项目中使用 ffmpeg.js

android - 如何减少包含 1,000 个资源的 AIR Flash 应用程序中的内存 (RAM) 使用量?

ios - 将 AIR 应用程序移植到 iOS : do I need an iPad to debug the app?

internet-explorer - 如何使用 VBA 访问网页(IHTMLDocument?)

javascript - 如何不在 IE 中加载脚本?

javascript - 使用来自父元素的 javascript 计算用户选择的开始和结束位置

javascript - 检查参数中是否存在数组

javascript - React Redux如何使用来自非React组件的操作触发容器功能

string - 如何将其转换为正确的字符串?

IE 的 HTML/CSS 高度问题