让SWF既能访问网络又能访问本地文件的另类方法
问题:SWF文件a.swf中有2个按钮,点击其中一个需要访问网络中的地址比如http://www.somesite.com,点击第二个按钮需要访问本地的一个页面,比如local.html,而a.swf是内嵌到页面index.html中的,需要在本地访问,而不是放置在服务器上。这时就出现了问题,因为SWF文件要么发布成只访问本地文件,要么是只访问网络,但是任何一项都不能满足既能点开http://www.somesite.com,又能点开local.html。
最开始我想使用localConnection来实现。就是再新建一个SWF,为b.swf,让它发布成只访问网络,而a.swf通过localConnection调用b,让b实现访问。结果发现当两个安全设置不一样时,无法使用localConnection。只能放弃这种想法。
最后借助页面的自动跳转来实现。a.swf仍旧发布成只访问本地,访问http://www.somesite.com改成访问本地文件somesite.html,在somesite.html中设置自动转向http://www.somesite.com
转向的方法有2种,一种是利用javascript的window.location=”http://www.somesite.com”,这种方法在IE7中会有警告提示,另一种方法是利用meta标签的refresh来设置:
<metahttp-equiv="refresh"content="5; url=http://www.somesite.com/"/>

Leave a Reply