導航:首頁 > 編程語言 > flash調用js彈窗

flash調用js彈窗

發布時間:2024-03-01 01:46:18

㈠ 請問Flash怎麼調用所插入頁面的js函數呢getURL("javascript:test()","_self");這個方法是不是不行

是的。如果本地有iis測試環境也可以。

可能我沒說清楚,再詳細說下,就你上面貼的代碼,回是能用的。答將此swf插入網頁,同時網頁中加入了js腳本,調用就能成功。但你在本地打開瀏覽器隨便就能讓它執行是成功不了的。要上傳到伺服器才可以。

我說的意思就是,如果你想在本地測試調用成功,需要有伺服器環境,比如我裝了iis就能實現,此時瀏覽器地址欄輸入的是本地伺服器地址:

㈡ flash調用js的函數

通過ExternalInterface調用js函數

語法:

ExternalInterface類的call方法

ExternalInterface.call(functionName:String,...arguments):*

//第一個參數是js的函數名,後面的是js函數的內參數

舉例:

1、容js函數

functionhello(h){
alert(h);
}

2、flash調用

ExternalInterface.call(hello,"nihao")調用後會彈出nihao

㈢ js與as怎麼相互調用,as裡面可以直接彈出一個對話框或者跳轉到一個新的頁面嗎

AS調用JS函數:
ExternalInterface.call(JS中的函數名,參數一,參數二);//調用JS中的一個函數
以下AS代碼回:
import flash.external.ExternalInterface;
例子:ExternalInterface.call('alert',『hello world!』答);//會彈出JS的提示框

JS調用AS函數:
ExternalInterface.addCallback(提供給JS調用的名稱,調用的函數); //提供一個函數給JS調用

以下AS代碼:
import flash.external.ExternalInterface;
import mx.controls.Alert;
public function asFunc(a:int,b:int):int
{
Alert.show(a+b);
}
ExternalInterface.addCallback("add",asFunc);

以下JS代碼:
add(1,2);//調用的其實是AS中的asFunc方法 ,會在Flash中彈出提示框

㈣ flash 調用外部JS函數

cs3裡面的實現方法:
實現這個功能需要用到as里的externalinterface類
可以在as文檔里找到
獲取有關外部容器的信息

ExternalInterface.available 屬性指示當前的 Flash Player 是否位於提供外部介面的容器中。如果外部介面可用,則此屬性為 true;否則,為 false。在使用 ExternalInterface 類中的任何其它功能之前,應始終進行檢查以確保當前容器支持外部介面通信,如下所示:

if (ExternalInterface.available)
{
// 在此執行 ExternalInterface 方法調用。
}

注意

ExternalInterface.available 屬性報告當前容器是否為支持 ExternalInterface 連接的容器類型。它不會報告當前瀏覽器中是否啟用了 JavaScript。

通過使用 ExternalInterface.objectID 屬性,您可以確定 Flash Player 實例的唯一標識符(具體來說,是指 Internet Explorer 中 object 標簽的 id 屬性,或者是指使用 NPRuntime 介面的瀏覽器中 embed 標簽的 name 屬性)。這個唯一的 ID 代表瀏覽器中的當前 SWF 文檔,並可用於對 SWF 文檔進行引用,例如:在容器 HTML 頁中調用 JavaScript 函數時進行引用。當 Flash Player 容器不是 Web 瀏覽器時,此屬性為 null。

從 ActionScript 中調用外部代碼

ExternalInterface.call() 方法執行容器應用程序中的代碼。它至少需要一個參數,即包含容器應用程序中要調用函數的名稱的字元串。傳遞給 ExternalInterface.call() 方法的其它任何參數均作為函數調用的參數傳遞給容器。

// 調用外部函數"addNumbers"
// 傳遞兩個參數並將該函數的結果
// 賦給變數"result"
var param1:uint = 3;
var param2:uint = 7;
var result:uint = ExternalInterface.call("addNumbers", param1, param2);

如果容器為 HTML 頁,此方法將調用具有指定名稱的 JavaScript 函數,必須在包含 HTML 頁中的 script 元素中定義該函數。JavaScript 函數的返回值被傳遞回 ActionScript。

// 加上兩個數字,然後將結果發送回 ActionScript
function addNumbers(num1, num2)
{
return (num1 + num2);
}

如果容器為其它的 ActiveX 容器,此方法將導致 Flash Player ActiveX 控制項調度它的 FlashCall 事件。Flash Player 將指定的函數名及所有參數序列化為一個 XML 字元串。容器可以在事件對象的 request 屬性中訪問該信息,並用它來確定如何執行它自己的代碼。為了將值返回 ActionScript,容器代碼調用 ActiveX 對象的 SetReturnValue() 方法,並將結果(序列化為一個 XML 字元串)作為該方法的參數進行傳遞。有關該通信使用的 XML 格式的詳細信息,請參閱外部 API 的 XML 格式。

無論容器為 Web 瀏覽器還是為其它 ActiveX 容器,只要調用失敗或容器方法沒有指定返回值,都將返回 null。如果包含環境屬於調用代碼無權訪問的安全沙箱,ExternalInterface.call() 方法將引發 SecurityError 異常。可以通過在包含環境中為 allowScriptAccess 設置合適的值來解決此問題。例如,要在 HTML 頁中更改 allowScriptAccess 的值,請編輯 object 和 embed 標簽中的相應屬性。

從容器中調用 ActionScript 代碼

容器只能調用函數中的 ActionScript 代碼,而不能調用任何其它 ActionScript 代碼。要從容器應用程序調用 ActionScript 函數,必須執行兩項操作:向 ExternalInterface 類注冊函數,然後從容器的代碼調用它。

首先,必須注冊 ActionScript 函數,指示其應能夠為容器所用。使用 ExternalInterface.addCallback() 方法,如下所示:

function callMe(name:String):String
{
return "busy signal";
}
ExternalInterface.addCallback("myFunction", callMe);

addCallback() 方法採用兩個參數。第一個參數為 String 類型的函數名,容器將籍此名稱得知要調用的函數。第二個參數為容器調用定義的函數名時要執行的實際 ActionScript 函數。由於這些名稱是截然不同的,因此可以指定將由容器使用的函數名,即使實際的 ActionScript 函數具有不同的名稱。這在函數名未知的情況下特別有用,例如:指定了匿名函數或需要在運行時確定要調用的函數。

一旦向 ExternalInterface 類注冊了 ActionScript 函數,容器就可以實際調用該函數。完成該操作的具體方法依容器的類型而定。例如,在 Web 瀏覽器的 JavaScript 代碼中,使用已注冊的函數名調用 ActionScript 函數,就像它是 Flash Player 瀏覽器對象的方法(即,一個表示 object 或 embed 標簽的 JavaScript 對象的方法)。也就是說,將傳遞參數並返回結果,就如同調用本地函數一樣。

// callResult gets the value "busy signal"
var callResult = flashObject.myFunction("my name");

或者,在運行於台式機應用程序中的 SWF 文件中調用 ActionScript 函數時,必須將已注冊的函數名及所有參數序列化為一個 XML 格式的字元串。然後,將該 XML 字元串作為一個參數來調用 ActiveX 控制項的 CallFunction() 方法,以實際執行該調用。有關該通信使用的 XML 格式的詳細信息,請參閱外部 API 的 XML 格式。

不管是哪種情況,ActionScript 函數的返回值都被傳遞回容器代碼,當調用方為瀏覽器中的 JavaScript 代碼時直接作為值返回,而當調用方為 ActiveX 容器時則會序列化為 XML 格式字元串。

閱讀全文

與flash調用js彈窗相關的資料

熱點內容
剛復制的文件找不到怎麼辦 瀏覽:724
試運行適用於哪些體系文件 瀏覽:987
ghost文件復制很慢 瀏覽:967
傑德原車導航升級 瀏覽:240
編程dest是什麼意思 瀏覽:935
linux埠鏡像 瀏覽:820
iphone5屏幕清塵 瀏覽:157
機頂盒密碼怎麼改 瀏覽:672
w7系統下載32位教程 瀏覽:618
pcb文件包括哪些內容 瀏覽:598
g00文件 瀏覽:607
用bat程序刪除程序 瀏覽:516
dnf鬼泣90版本打安圖恩 瀏覽:668
245倒角編程怎麼計算 瀏覽:599
可以買生活用品的app有哪些 瀏覽:175
cad在c盤產生的文件夾 瀏覽:541
聯想手機解鎖工具 瀏覽:696
瑞銀3887win10 瀏覽:833
學網路編程哪個好 瀏覽:805
手機vmos導入的文件在哪裡 瀏覽:115

友情鏈接