Flash发展问题与发布

时间:2010-10-18 20:41:29

标签: javascript flash swfobject flashdevelop

我创建了一个简单的flash对象,使用“navigatetoURL”将浏览器重定向到另一个网页,同时从外部接口调用URL到执行flash文件嵌入的页面的javascript。

我能够很好地构建所有内容,并且我创建的html页面(使用swfobject.embedSWF嵌入Flash文件)运行正常并重定向浏览器。但是,当我移动所有功能所需的文件(.swf文件,swfobject.js和嵌入flash对象的html文件)时,网页不再重定向。只显示一个空白区域,它似乎是flash对象,没有任何重定向。

我是否缺少Flashdevelop中的任何编译选项以防止这样做?

这是actionscript 3代码:

package 
{
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.navigateToURL;
 import flash.net.URLRequest;
 import flash.net.URLVariables;
 import flash.external.ExternalInterface;

public class FlashTest extends Sprite
{
 public function FlashTest()
 {
    var url:String = ExternalInterface.call("GetURL");
    var hash:String = ExternalInterface.call("GetHash");
    var new_url:String = url + hash;
    var request:URLRequest = new URLRequest(new_url);
    navigateToURL(request, "_self");

 }
}
}

HTML代码:

<html>
<head>

<script src='js/swfobject.js' type='text/javascript'></script>
<script type='text/javascript'>
swfobject.embedSWF('Flashtest.swf', 'altContent', '100%', '100%', '10.0.0');
function GetURL()
{
   return 'http://www.cnn.com';
}

function GetHash()
{
  return '?hash=2398asb9s8234';
}

</script>
</head>
<body>
<div id='altContent'>
<h1>Flash_test</h1>
<p>Alternative content</p>
<p><a href='http://www.adobe.com/go/getflashplayer'><img 
src='http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif' 
alt='Get Adobe Flash player' /></a></p>
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

实际上,在将swf添加到HTML DOM之前和/或DOM准备好之前,我一直遇到麻烦。看看Adobes own article on ExternalInterface.call and javascript isReady。 我还要看一下allowScriptAccess参数:

<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "400", "200", "8", "#336699");
   so.addVariable("allowScriptAccess", "always");
   so.write("flashcontent");
</script>

答案 1 :(得分:0)

这实际上是一个Flash播放器安全问题。如果您将文件移出bin文件夹并在本地运行它们将无法再使用。

每次在flashdevelop中创建项目时,“bin”文件夹都会添加到Flash播放器的例外列表中。 如果您将文件移动到另一个文件夹,那么在浏览器中打开html时它们将不再起作用,因此会出现空白页。

解决方案是手动修改Flash播放器安全配置文件并添加新路径或访问: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html 点击全局安全设置&gt;始终允许&gt;编辑视点&gt;添加位置&gt;浏览文件所在的新路径。