AS3 navigateToURL仅在Flash CC中进行测试时有效

时间:2014-02-24 00:15:32

标签: actionscript-3 flash navigatetourl

我已经尝试搜索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)
}

1 个答案:

答案 0 :(得分:1)

要打开网址,您必须使用记录为herenavigateToURL功能。

您似乎正在使用以下代码触发要打开的网址:

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)
}