Tag Archive: javascript


The JavaScript and Flash Integration Kit是MM的Mike ChambersChristian Cantrell开发的一套用于Javascript和Flash通讯的通用接口程序。通过这套接口,两种语言的大部分数据类型能够被相互支持。之前JS与Flash通讯的方法是通过fsCommand(),这一套程序用到了flash中的LocalConnection对象,支持主流的浏览器平台。

安装和使用方法在配套的文档中已经说得比较清楚了,我这里只是提一些要点。安装文件中JavaScriptFlashGateway.swf就是这套接口能够正常运作的幕后功臣,其作用就是发送基于LocalConnection对象的指令来操作目标Flash。

看看使用这套接口的基本代码,在html页头部加入:

<script type="text/javascript" src="/path/to/JavaScriptFlashGateway.js"></script>

生成一个id值,建立提供接口服务的FlashProxy对象: View full article »

FlashObject

FlashObject: Javascript Flash detection and embed script
包含了Flash插件的检测和符合xhtml规范的插入脚本。
作者还详细比较了几种插件检测和Flash插入网页的方法:
(1)Dreamweaver默认提供的方法没有插件检测功能,同时<embed>也不符合xhtml标准。
(2)仅使用Object标签和一种叫做"Flash satay"的方法。没有插件检测,"Flash satay"插入的Flash还没有了流的特性(就是必须完全下载完才会显示出来)
(3)在首页使用专门检测Flash版本的Flash文件,再进行相应导向的方法。在其它页面上没有插件或版本的检测,用户可能url地址跳过首页的检查。同样不符合xhtml标准。还不容易被搜索引擎得到。
(4)The Macromedia Flash MX 2004 Detection Kit,仅是上一种方法的规整版本,有同样的局限性。
(5)使用JS来检测和插入Flash动画。代码量大,设计师使用比较困难。而且一般写得不够灵活。就像我之前提到的方法。
这个FlashObject其实也就是最后一种方法,只不过封装了更多的功能,使用起来更加简便而已。 View full article »

全Flash的网站在导航上存在一个问题:浏览器提供的前进和后退等浏览历史相关的功能不能整合到Flash站点中。
FI解决了这个问题。FlashGuru在FlashForward 2005上也提到了这个问题的解决办法
在这里总结一下。原理就是使用框架网页,将主Flash文件(如main.swf)放在主框架(如content.htm)中,另一个框架文件(如history.htm)用来记录浏览历史。要解决的两个问题:

  • 在Flash网站中发生页面转换的时候,通知框架中的网页更新。(浏览器的前进、后退 & content.htm 改变 history.htm)
  • 框架中的网页更新后,通知Flash网站相应的更新。(history.htm 改变 content.htm)

不直接在Flash中更新页面内容,而是等到框架页加载后再来更新。这样无论是用户在网站中通过导航发生页面跳转还是使用浏览器的前进或后退功能都可以对应到正确的Flash内容。
原理弄清楚就好办了。第一个问题,在main.swf文件用getURL("history.htm?param=value", "history")来更新history.htm。第二个问题,history.htm刷新后必须把得到的参数再对应回main.swf。最简单的办法是用到localConnection对象。这个对象可以在不同的Flash之间通讯,而不需要通过fscommand()或者Javascript。在history.htm中放一个history.swf,得到网页参数后通过localConnection对象来与main.swf通讯。
这样,一个整合了浏览器功能的Flash导航就搞定了。具体的代码可以从FlashGuru那里下来研究。

Powered by KevinCao.com ©2010 | Platform: WordPress | Theme: Motion
kevincao.com