StageWebView 類別提供簡單方法,在不支援 HTMLLoader 類別的裝置上顯示 HTML 內容。除了 StageWebView 類別本身的方法與屬性之外,此類別不提供 ActionScript 與 HTML 內容之間的互動。因此,(例如) 將無法在 ActionScript 與 JavaScript 之間傳送值或呼叫函數。
var myWebView:StageWebView = new StageWebView(); myWebView.stage = this.stage; myWebView.loadURL("http://google.com.hk/"); myWebView.viewPort = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
ActionScript 與 HTML 內容之間的互動方法:
雖然官方說明ActionScript 與HTML 之間不能互動, 事實上這是可以解決的.
由ActionScript 呼叫Javascript: (ActionScript 程序)
myWebView.loadURL("javascript:myJSFunctionName()");
由Javascript 呼叫ActionScript: (Javascript 程序)
document.location = JSON.stringify( {width:document.body.scrollWidth, height:document.body.scrollHeight});
在ActionScript 處理Javascript 時的事件 (ActionScript 程序)
myWebView.addEventListener( LocationChangeEvent.LOCATION_CHANGING, handleLocationChanging ); function handleLocationChanging( event:LocationChangeEvent ):void { event.preventDefault(); var data:Object = JSON.decode( event.location ); trace( "Width: " + data.width + ", Height: " + data.height ); }
官方資料:
http://help.adobe.com/zh_TW/FlashPlatform/reference/actionscript/3/flash/media/StageWebView.html
參考資料:
http://voisen.org/blog/2010/10/making-the-most-of-stagewebview/
2 則留言:
你好,想請問一下我用了你的方法載入.php網頁,但是網頁裡面的按鈕連結都失效的,請問有什麼辦法可以解決嗎?謝謝!
按鈕可否連結yahoo 或google 等網頁?
張貼留言