加载Flash文件有很多部分,更常见的是HTML页面。

我将从HTML页面的顶部开始,我敦促其他人纠正我可能犯的任何错误。

加载页面

当收到HTML页面时,浏览器会将其解析为文档对象模型(DOM),以便它具有每个元素的编程表示。浏览器遍历DOM树中的每个节点并根据需要填充它。

对于大多数节点,这只是创建一个新的DOM元素,如div,p或a;但有些内容需要加载或更换。

表单元素(input,select,button,textarea)将替换为这些表单字段的特定于浏览器的表示形式。

用作样式表的

link元素是异步加载的。随着外部资源的加载,DOM继续解析页面。

另一方面,

script元素是同步加载的。在脚本完成加载和执行之前,DOM无法继续解析树,如果加载失败或执行有错误,则无法解析。

img个元素是异步加载的,但允许onload回调确定它们何时完成加载。在所有onload元素完成加载(或失败)之前,DOM无法触发窗口的img事件。

了解基本元素有助于理解更多涉及的元素,例如object,embed和iframe,这些元素也会替换为内容。

Flash通常使用object,embed和iframe嵌入网页。

据我所知,object和embed元素的反应相似,所以我会从此处快捷方式并说出object。

在iframe和object元素中加载闪存之间存在明显差异。

object元素与script元素非常相似,其中必须成功加载并执行内容才能继续解析DOM。

iframe元素非常类似于img元素,其中内容是异步加载的,但回调可用于确定加载何时完成(尽管我不是确定回调是否可用于跨域请求)。

加载Flash

上一节讨论只是内容加载的HTML方面。但是,闪光灯内有许多细微差别会严重影响闪光电影的加载时间。

正如我之前所说,在继续解析DOM之前,script元素必须完全加载和。在Flash文件中也发现了类似的效果(即使通过iframe包含在内)。必须先加载swf中嵌入的所有资源,然后才能swf释放对页面加载进度的保留。

如果您已将视频直接嵌入到时间轴中,则必须先加载整个视频,然后才能将闪存视为已完成并初始执行。

相反,如果您选择使用异步回调来开始加载恰好是视频的外部资源,并使用异步加载器加载视频,则不必等待视频完成在加载页面的其余部分之前加载;在闪存中,您仍然需要等待视频完成加载才能开始播放视频。

或者,闪存中有许多方法可以流式传输视频,或逐步从服务器加载视频,这样可以在不完成加载的情况下播放视频。 我对flash特定方面的经验很少,所以我不会解释如何完成。

使用像swfobject这样的库可以异步加载所需的swf,以便闪存加载是非阻塞的。

TL; DR:

可能会逐步加载Flash文件,具体取决于您构建HTML的方式以及swf中正在运行的代码。

flash调用swf文件服务器,浏览器如何加载Flash文件? (SWF)相关推荐

  1. web页面的js中检测浏览器是否加载flash插件,用来确保视频播放器和flash上传的正常运行

    web页面的js中检测浏览器是否加载flash插件,用来确保视频播放器和flash上传的正常运行 <script type="text/javascript" languag ...

  2. 兼容ie6 | SWFObject、Flash json2以及动态JavaScript片段加载

    摘要:上一篇文章<Flash(ActionScript,AS) & JavaScript通信浅谈>初步谈到了,js与as的相互通信,在后文中也提及了"如何加载swf&qu ...

  3. 最新版Google Chrome 自动加载flash插件的方法

    我们在用Selenium做自动化测试时,有时候需要浏览器自动加载flash插件,69以前的谷歌浏览器,可以通过加载属性的方法自动运行flash插件,如下: prefs={"profile.m ...

  4. 加载flash必备的ShockwaveFlash控件属性

    加载flash必备的ShockwaveFlash控件属性 属性: 1.AlignMode (读写) 语法:AlignMode As Long 说明:对齐方式,与 SAlign 属性联动.当控件的 长宽 ...

  5. HTML 页面加载 Flash 插件的几种方法

    前言 之所以写这篇文章,主要是因为组长给提的一个新的需求--使用浏览器调用电脑的摄像头,来实现即时拍照的功能.在网上查了很多资料,由于这样那样的原因,最终选择了使用flash插件来调用pc的摄像头.当 ...

  6. flash cs4 java运行时_加载外部数据时Flash CS4 IDE内部缓存

    它们存储在您的系统's 1166699 cache (i.e. I.E.'缓存中 . 我有Firefox作为我的默认浏览器,但它们仍然存储在" AppData\Local\Microsoft ...

  7. flash AS3 Loader加载外部文件类 及队列加载方法

    从2011年开始使用这段代码为了应对各种加载修修改改了这么多年,很基础的功能,没啥特别的,重点在于加载子swf获取它的类,还有就是卸载子swf时要清理内存,否则内存占用会节节窜高,内存溢出,所以加载新 ...

  8. swfobject加载flash

    SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块 原文:SWFObject: Javascript Flash Player detection and embed s ...

  9. 浏览器的加载顺序与页面性能优化

    详情参考:浏览器的加载与页面性能优化 例子: 一:DNS:在header中添加 <link rel="dns-prefetch" href="//HOSTNAME. ...

最新文章

  1. python async await报错_Python 3.7.7 发布 支持async并await现在为保留关键字
  2. 自动输入runas密码的方法
  3. 微信小程序ios可以上下左右拖动的问题
  4. 【SSH】——Struts2中的动态方法调用(一)
  5. jQuery load()方法特殊用法!
  6. 小米刷第三方recovery_小米平板4/Plus LTE版本开启电话功能
  7. 博客文章加线框/表格
  8. Spark 按key聚合求平均值与占比
  9. matlab双目标定
  10. 【安卓按键精灵】教你一个小时自己开发脚本,零基础1个小时上手
  11. 解决谷歌chrome浏览器双击没反应,不能启动(亲测好用)
  12. xwork配置文件: 新配置文件覆盖旧文件中的同名Action
  13. 暗影精灵三 英伟达显卡 Ubuntu16.04 安装网卡驱动连接wifi
  14. python爬取京东书籍_一个scrapy框架的爬虫(爬取京东图书)
  15. 什么是刀片式服务器?
  16. jvm探秘五:Class类文件结构之属性表
  17. 数据库学习笔记7关系数据库标准语言SQL
  18. perl mysql 数据推拉_MySQL_Perl操作mysql数据库的方法,Perl对Mysql的操作。 一、标准 - phpStudy...
  19. 迅捷fw325r虚拟服务器设置,迅捷FW325Rwifi连接Internet上网怎么设置 - falogincn登录页面...
  20. plant simulation物流系统仿真案例

热门文章

  1. Java Scanner next()方法与示例
  2. 在Bootstrap中使用类的按钮类型
  3. Java PipedOutputStream connect()方法与示例
  4. python常用语法和示例_C语言切换案例教程,语法,示例和规则
  5. java 二叉树特点_疯狂java笔记之树和二叉树
  6. bpl开发模式_BPL的完整形式是什么? 什么是电力线宽带
  7. ruby array_Ruby中带有示例的Array.keep_if方法
  8. setdefault_Java语言环境setDefault()方法及示例
  9. js 数组添加n次相同元素_数组中两次出现相同元素之间的最大距离
  10. 用好MySQL的21个好习惯!