我尝试搜索stackoverflow来找到这个问题的答案,但到目前为止还没有找到任何东西。
我有一个 swf 文件,舞台上有几个影片剪辑。当我设法创建一个事件时,当用户悬停时,影片剪辑将换出到新的影片剪辑。我遇到的问题是,当您单击该新影片剪辑时,它应该在浏览器窗口中打开一个URL。当我在Flash CC中测试电影时会发生这种情况,但是当我在浏览器中测试它时,没有任何反应。
对此的任何帮助将不胜感激。如果这个问题在网站的其他地方被问过,我深表歉意,但正如我所说,我之前进行了搜索,没有找到任何东西。
import flash.events.MouseEvent;
addEventListener(MouseEvent.MOUSE_OUT, gobackAnimation);
function gobackAnimation(event:MouseEvent):void
{
MovieClip(parent).gotoAndStop(1)
}
addEventListener(MouseEvent.CLICK, openURL);
function openURL(event:MouseEvent):void
{
ExternalInterface.call("open", "URL I'm trying to open");
MovieClip(parent).gotoAndStop(1)
}
要打开 URL,您必须使用此处所述的 navigateToURL
函数。
您似乎正在使用以下代码来触发 URL 打开:
function openURL(event:MouseEvent):void
{
ExternalInterface.call("open", "URL I'm trying to open");
MovieClip(parent).gotoAndStop(1)
}
但是,我不知道这个ExternalInterface
在哪里或是什么,以及call
函数是如何构建的。
但是,如果您想打开一个URL,则应执行以下操作:
function openURL(event:MouseEvent):void
{
var myURL:String = "http://your.url.goes/here"; // set your url here
var window:String = "_blank"; // you can set this to be whatever you need based on how you want the window opened
var request:URLRequest = new URLRequest(myURL);
request.data = variables;
try {
navigateToURL(request,window);
}
catch (e:Error) {
// handle error here
}
MovieClip(parent).gotoAndStop(1)
}