2010-10-18 61 views
0

我已经创建了一个简单的Flash对象,使用“navigatetoURL”将浏览器重定向到不同的网页,同时从外部接口调用URL到执行嵌入Flash文件的页面的JavaScript。Flash发展问题与发布

我能够建立一切都很好,我创建的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> 
+0

我缩小了一点。当目录改变时,一个简单的hello world swf文件就可以工作。这似乎与我的特殊瑞士法郎有关。 – 2010-10-18 21:12:06

回答

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> 
0

它实际上是一个Flash Player的安全问题。如果您将这些文件移出bin文件夹并在本地运行它们,则它们将不再起作用。

每次在flashdevelop中创建项目时,“bin”文件夹都会添加到flash播放器的例外列表中。 如果您将文件移动到另一个文件夹,则在浏览器中打开html时,它们将不再工作,因此无法工作。

解决的办法是手动修改Flash Player安全配置文件,并添加新的路径,或访问: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html 点击全局安全设置>始终允许>编辑ocations>添加位置>新路径,其中浏览文件位于。