注冊|登錄

聯(lián)系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

沈陽軟件開發(fā)_沈陽軟件公司_沈陽軟件定制/軟件/最新技術(shù)

Latest technology最新技術(shù)

AS3.0中addCallback用法

瀏覽量:7940

在AS3編程中,如果我們要JavaScript來調(diào)用AS3中的函數(shù),常用的方法就是使用ExternalInterface類中的addCallback方法。該方法官方解釋如下:將 ActionScript 方法注冊為可從容器調(diào)用。 成功調(diào)用 addCallBack() 后,容器中的 JavaScript 或 ActiveX 代碼可以調(diào)用在 Flash Player 中注冊的函數(shù)。

在AS3中,該方法的原始定義如下

public static function addCallback(functionName:String, closure:Function):void

他有2個(gè)參數(shù),第二個(gè)參數(shù)指的是AS3中需要調(diào)用的函數(shù)名,第一個(gè)參數(shù)則是JS中調(diào)用的函數(shù)名,我們看AS3中關(guān)于這個(gè)函數(shù)的使用幫助中有如下說明:

在包含 SWF 文件的 HTML 頁中,在該文件的 object 標(biāo)簽中設(shè)置以下參數(shù):

<param name="allowScriptAccess" value="always" />

在 SWF 文件中,添加以下 ActionScript:

flash.system.Security.allowDomain(sourceDomain )

這2個(gè)說明其實(shí)是為了解決安全沙箱的問題,但是實(shí)際使用中,我們常常還會遇到更加頭疼的問題。

比如AS3中有個(gè)函數(shù)叫

showMC(mc:MovieClip):void;

我們使用

ExternalInterface.addCallback("showMC" , jsshowMC) ;

來注冊一個(gè)外部接口函數(shù),ok,我們同樣設(shè)置allowScriptAccess為always和allowDomain(*),但是JS經(jīng)常還是會報(bào)錯(cuò):jsshowMC is not a Function,這是為什么呢?進(jìn)過多次試驗(yàn),原來才發(fā)現(xiàn),AS3中,如果需要使用addCallback函數(shù)來注冊外部函數(shù)接口,那么必須是當(dāng)前的swf完全加載完畢才能注冊成功,如果還在當(dāng)前swf加載的過程中就在JS中調(diào)用的話肯定會因?yàn)檎也坏胶瘮?shù)而報(bào)錯(cuò)。

解決辦法有幾個(gè),一個(gè)是swf盡可能的小,提高加載速度,當(dāng)然這個(gè)指標(biāo)不治本,那么,我們可以在JS中來判斷所調(diào)用的函數(shù)是否有效,如果所調(diào)用的函數(shù)未定義,那么我們就等待,比如我們可以用一個(gè)Timer:setTimeout("checkFuncName()",100);每隔100毫秒來調(diào)用checkFuncName檢測函數(shù)是否有效,checkFuncName里我們可以寫檢測函數(shù)是否是undefined,如果是就繼續(xù)循環(huán)。

沈陽團(tuán)購網(wǎng)|營口網(wǎng)站制作|沈陽軟件公司|軟件定制|網(wǎng)站建設(shè)|加盟易勢|提交問題

主站蜘蛛池模板: 国产成人精品久久一区二区三区| 精品亚洲麻豆1区2区3区 | 欧美大黑bbb| 俄罗斯激情女同互慰在线| 1024手机看片基地| 无码一区二区三区在线| 亚洲av日韩综合一区在线观看| 激情伊人五月天久久综合| 国产在线19禁在线观看| 深爱婷婷激情网| 在线无码VA中文字幕无码| 久久国产成人精品| 棉袜足j吐奶视频| 亚洲熟妇av一区| 男女免费观看在线爽爽爽视频| 国产欧美高清在线观看| 91大神在线精品视频一区| 日本人与黑人xxxxx18| 亚洲а∨天堂久久精品| 欧美浮力第一页| 嗯~啊太紧了妖精h| 8x8×在线永久免费视频| 无码少妇精品一区二区免费动态| 九九热线有精品视频99| 男男gvh肉在线观看免费| 哆啪啪免费视频| 福利视频757| 国产综合色在线精品| 99国产精品久久久久久久成人热 | 97日日碰人人模人人澡| 天天躁日日躁狠狠躁av中文| 中文在线观看www| 无遮挡无删动漫肉在线观看| 久久成人免费播放网站| 永久在线观看www免费视频| 免费va欧美在线观看| 香蕉视频亚洲一级| 国产成人精品视频一区二区不卡| 中文字幕第四页| 国产精品美女视频| 91手机在线视频|