ExternalInterface
是 ActionScript 3.0 提供的一種與 HTML 頁面進行交互的接口。通過 ExternalInterface
,ActionScript 代碼可以調用 HTML 頁面中的 JavaScript 函數,同時 HTML 頁面也可以調用 ActionScript 代碼中的方法。
以下是如何使用 ExternalInterface
在 ActionScript 中調用本地(即同一 HTML 頁面中)JavaScript 方法的步驟:
<script>
標簽的type
屬性并添加allowScriptAccess="always"
來允許外部腳本訪問。例如:<script type="text/javascript" src="your-actionscript-file.js" allowScriptAccess="always"></script>
注意:allowScriptAccess
屬性在較新的HTML5規范中可能已被棄用,但為了兼容性,許多瀏覽器仍然支持它。在現代Web開發中,更推薦使用CrossOriginResourceSharing
(CORS)來處理跨域資源請求。
2. 在ActionScript中調用JavaScript函數:
import flash.external.ExternalInterface;
if (ExternalInterface.available) {
ExternalInterface.call("yourJavaScriptFunction", "parameter1", "parameter2");
} else {
trace("ExternalInterface is not available.");
}
在這個例子中,yourJavaScriptFunction
是你在HTML頁面中定義的JavaScript函數,parameter1
和parameter2
是你要傳遞給該函數的參數。
3. 在HTML頁面中定義JavaScript函數:
<script type="text/javascript">
function yourJavaScriptFunction(param1, param2) {
// 在這里處理參數
console.log(param1, param2);
}
</script>
當你在ActionScript中調用ExternalInterface.call()
時,它會觸發HTML頁面中的yourJavaScriptFunction
函數,并傳遞指定的參數。
同樣地,你也可以從HTML頁面調用ActionScript中的方法,但這通常涉及到更復雜的設置,如使用ExternalInterface.objectID
和ExternalInterface.call()
來獲取和調用ActionScript中的對象和方法。