2011-12-09 3 views
1

StageWebViewBridgeを使用してオンラインWebページを読み込んで通信するのに成功した人はいますか?StageWebViewBridgeオンラインページとの読み込みと通信

http://code.google.com/p/stagewebviewbridge/wiki/Communication

提供するドキュメントとサンプル全て(正常に動作)ローカルファイルで作業を中心に構成され、ロードされたHTMLページ内のファイル「StageWebViewBridge.js含める」をするための命令は、非常にまっすぐ進むの音がしています、残念ながらそれは動作していないようです。私はここにファイルをアップロードした私のテストを複製したい人のための

http://www.infin8design.com/clients/stack/swvb.zip

は、私は基本的に、Webサーバーから「ExampleCallBackFuncions.html」ファイルをロードしています。 私はStageWebViewBridge.jsはそうのようなファイルが含まました...私は映画をテストする場合

<script type="text/javascript" src="StageWebViewBridge.js"></script> 

は、私が正しいセットアップ出力メッセージ

_serializeObject =>___onDomReady 
_serializeObject =>___getFilePaths 
_serializeObject =>___onDeviceReady 
_serializeObject =>fnCalledFromJS 

を取得し、htmlページは、ビューポートに表示されます。しかし、Actionscriptにメッセージを送信するボタンを押すと、次のエラーメッセージが表示されます。

TypeError:Error#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。 at es.xperiments.media::StageWebViewBridgeExternal/parseCallBack()[/Users/G5TowerIntel/Desktop/maptest/es/xperiments/media/StageWebViewBridgeExternal.as:88] at es.xperiments.media:StStageWebViewBridge/onLocationChange() [/Users/G5TowerIntel/Desktop/maptest/es/xperiments/media/StageWebViewBridge.as:236]

私の目標は、HTMLページからActionScriptにメッセージを送り返すことです。

おかげで、あなたはあなたのコードで間違ったいくつかのことをやっている

マーク

答えて

2

....

AS3とJSとその逆の間で任意のCOMMを行う前に、あなたはDEVICER_READYイベントに耳を傾ける必要があります。.. 。

// listen StageWebViewBridgeEvent.DEVICE_READY event to be sure 
// the communication is ok 
view.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady); 

// add a callback method for the function we like to call from Javascript 
view.addCallback('fnCalledFromJS', fnCalledFromJS); 

// load the localfile demo.html (inside the www dir) 
view.loadLocalURL('http://www.someserver.com/ExampleBasic.html'); 

あなたは私のExampleBasicを取るとして行を変更することができます

view.loadLocalURL( 'applink:/ExampleBasic.html');

view.loadURLに( 'のhttp://localhost/ExampleBasic.html');

は、その後、サーバのhtmlファイルに...

が私に言っ

それは働かなければならない...ファイルの.jsを参照して

0

成功を行を追加します!ここで使用したAS3は...

public var webView1:StageWebViewBridge; 

public function Main() {    
StageWebViewDisk.addEventListener(StageWebviewDiskEvent.END_DISK_PARSING, onInit); 
StageWebViewDisk.setDebugMode(true); 
StageWebViewDisk.initialize(stage); 
} 

function onInit(e:StageWebviewDiskEvent):void { 
trace("onInit"); 
webView1 = new StageWebViewBridge(60, 60, 400, 262); 
webView1.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady); 
webView1.loadURL("http://www.domain.com/ExampleCallBackFuncions.html"); 
} 

function onDeviceReady(e:StageWebViewBridgeEvent):void { 
trace("onDeviceReady"); 
webView1.addCallback('fnCalledFromJS', fnCalledFromJS); 
addChild(webView1); 

} 

そしてExampleCallBackFuncions.htmlファイルはStageWebViewBridge.jsはそうのようなファイル含むように変更された例...

<html lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>example</title> 
<script type="text/javascript" src="StageWebViewBridge.js"></script> 
... 
関連する問題