2016-05-23 15 views
0

クロームパッケージのアプリからアプリケーション外のウェブページにメッセージを送信する必要があります。私は何の問題は、私は戻って、パッケージアプリケーションからの応答を取得することができますChromeパッケージアプリからウェブページにメッセージを送信する必要があります

chrome.runtime.sendMessage(extID,toSend, function(response) { 
    console.log("messag sent to " + extID); 
    if(response){ 
    console.log(response.received); 
    } 
    else { 
    console.log("no reply"); 
    }; 
}); 

を使用してパッケージアプリにWebページからメッセージを送信していません。問題ない。しかし、私は、アプリからの情報を単一の返信を超えてページに送信し続ける必要があります。

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
    chrome.tabs.sendMessage(tabs[0].id, msg, function(response) { 
    console.log(response.farewell); 
    }); 
    }); 
} 

をしかし、それは有効なオブジェクトとしてchrome.tabsを認識しません:

私は、アプリ側でこのコードを使用しようとしました。 manifest.jsonのpermissionsセクションに「tabs」を追加すると、パッケージ化されたアプリケーションでタブ権限がサポートされていないことがわかります。

Chromeパッケージのアプリから外部のウェブページにメッセージを送信する方法はありますか?ページ自体から送信されるメッセージに対する簡単な応答はありません。

+0

chrome-appまたはchrome-extension? –

+0

私のプログラムはクロームアプリです。私はシリアルポートにアクセスする必要があるので、私は拡張機能を使用できません。ありがとう、kzahel。 –

答えて

0

送信元のウェブサイトドメインを含めるには、マニフェストのexternal_connectableが必要です。chrome.runtime.onMessageExternalまたはchrome.runtime.onConnectExternalを使用する必要があります。これはすべてdocumentationです。

+0

私は、マニフェストで外部接続可能であることを明確にしておく必要があり、ウェブページに送信されたメッセージを受信して​​応答することができます。私はruntime.connectとonConnectExternalを使用して調べましたが、ドキュメントは拡張機能でのみ動作し、パッケージ化されたアプリケーションでは動作しないことを示唆していました。いずれにせよ、私がやろうとしているのは、Webページから送信されたメッセージに単純に応答するのではなく、アプリケーションからWebページにメッセージを送信することです。 –

+0

私は、Webページからアプリに送信されたメッセージを受信して​​応答できることを意味しました。 –

+0

今すぐruntime.connectを詳しく見てみましょう。これは機能するかもしれません。 –

関連する問題