2

Websocket を使用してサーバー側のコードと通信する単純な Firefox モバイル アドオンを作成しようとしています。

私のコードはデスクトップ Firefox アドオンで動作していますが、モバイル Firefox で問題が発生しています。

function connectToServer(aWindow) {

var ws = new MozWebSocket("ws://ipaddress:8887");  // LINE 20
// var ws = new WebSocket("ws://ipaddress:8887");
ws.onopen = function() {
    showToastMsg(aWindow, 'Sending');
    ws.send('data');
}   
ws.onmessage = function (evt) { 
    showToastMsg(aWindow, 'Display')
};  
ws.onclose = function() { 
};  

MozWebSocket と WebSocket の両方を試しましたが、どちらも次のようなエラーが発生します。

E/GeckoConsole(15569): [JavaScript エラー: "ReferenceError: MozWebSocket が定義されていません" {file: "resource://gre/modules/XPIProvider.jsm -> jar:file:///data/data/org.mozilla .firefox/files/mozilla/sq4c77hi.default/extensions/view-source@mydomain.org.xpi!/bootstrap.js" 行: 20}]

WebSocket を参照できるようにするために何をインポートまたは実行する必要があるか知っている人はいますか? websocket を使用して、サーバー側のコードを使用して Firefox Android アドオンとの間でデータを送受信したいだけです。助言がありますか?

非常によく似たコードを使用して Firefox Desktop Addon でこのセットアップを実行しているため、混乱しています。

どんな助けでも大歓迎ですありがとう!

4

2 に答える 2

1

アドオン SDK を使用していますか? このコードはどのファイルに入りますか?

まず、Mozilla の「接頭辞なし」の MozWebsocket から Websocket への変更:

https://www.evernote.com/shard/s1/sh/59230d89-52f6-4f23-81de-75ab88f38c22/f9f1c0c64959ee44bdc833707efe10a9

...ただし、Websocket API は実際には Web ドキュメントでのみ使用できます。私が過去に行ったことは、ページ ワーカー API を使用してバックグラウンドでドキュメントを読み込み、ワーカー ページから Websocket サーバーに接続したことです。

https://github.com/canuckistani/Jetpack-Websocket-Example

page-worker api の詳細については、次を参照してください。

https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/page-worker.html

将来的には、アドオン開発者に HTML5 API をより直接的に公開する計画があります。

于 2013-04-02T03:27:35.440 に答える