在flash的按钮上加超链接并调用html的js怎么弄?

2024年11月18日 14:38
有5个网友回答
网友(1):

现在大多数浏览器的flash player版本都比较高,就直接用actionscript3.0代码了

用到的知识as3

navigateToURL()可以用来打开一个新的浏览器窗口,也可以用来flex和js之间的通信。

ExternalInterface 类是用来支持在 ActionScript 和 SWF 容器(例如,含有 JavaScript 的 HTML 页或使用 Flash Player 播放 SWF 文件的桌面应用程序)之间进行直接通信的应

此功能替代 fscommand() 方法。


用到的知识html/js/jquery

直接用Dreamweaver插入swf会生成一大堆难懂的代码,很不雅观,所以推荐用jquery和

jquery.swfobject.js //注jquery用来插入swf文件的插件

首先打开flash 文件->新建 ->actionscript3.0 

2、新建两个元件一个用来打开网页(www.baidu.com)  一个用来调用html中的js函数

     别名分别叫tobaidu和tojs 好了。

3、新建一个图层插入空白关键帧 在帧上以下代码\


import flash.external.ExternalInterface;

tobaidu.addEventListener(MouseEvent.CLICK,clickHandle);//给元件绑定点击事件,打开百度

tojs.addEventListener(MouseEvent.CLICK,callHtmlJS);


function clickHandle(e:MouseEvent):void{//给元件绑定点击事件,调用js函数

 var url:URLRequest = new URLRequest("http://www.baidu.com");

 navigateToURL(url,"_blank");

}


function callHtmlJS(e:MouseEvent):void{

     ExternalInterface.call("show");

}

最后保存。

再在相同目录新建一个html文件用来插入刚才的生成的swf文件

flash as3打开网页并调用js中的函数



swf文件和html放在同一目录,如果本地调试,最好安装有本地开发环境,比如

wampserver,xampp或是iis也行,用localhost/xx.html这样子调试

具体代码可以看附件


网友(2):

  flash用html添加按钮是不可行的,理论上,flash和html是两套不同的东西。

  1. 上策,你懂得flash,使用flash添加一个链接,这个跳转的链接是一个新的网页,自然可以使用js。(adobe flash)

  2. 中策,不要用flash的动画,使用canvas制作动画,然后本身就是html,自然也可以用js了。(adobe flash cc以上版本都支持canvas)

  3. 下策,虽说下策,但是最容易实现,在html上添加一个按钮,用浮动的方式覆盖flash按钮,然后写js。

网友(3):

可以看一下这个:http://www.cuplayer.com/player/PlayerCodeAs/2013/0109638.html
打开链接用navigateToURL函数。
as3和js交互,一般是用ExternalInterface。具体用法直接复制放到百度里搜就行。

虽然navigateToURL和ExternalInterface任意一个都能实现“加超链接”和“调用js”的功能,但是一般还是用navigateToURL加超链接,用ExternalInterface调用js。

网友(4):

超级连接在按钮上写段ASon(release){
getURL("这里写上你要连接的网址");
}
就可以啦

网友(5):

按钮添加超链接和 调用html的js 两种不同的操作不能同时进行
//按钮添加超链接
function onClick(evt:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.baidu.com"));
}
//调用js
ExternalInterface.call("sayHelloWorld");
// JavaScript
function sayHelloWorld() {
alert("Hello World, from JavaScript");
}