問題を説明させてください。私はクローム拡張機能を開発していますが、少し機能が足りません。ブラウザでURLを取得し、サーバーから何かを取得して、badgeTextを更新する必要があります。
contentscript1.js
chrome.extension.sendMessage({method:"sendUrlInBrowser",urlinbrowser: location.href}, function(response) { });
contentscript2.js
chrome.extension.sendRequest({method: "getInfosUser"}, function(response) {
var url = location.href;
var id_user = response.id_user;
var default_friend_view_user = response.default_friend_view_user;
$.post("http://host/getNoteCount",
{
"url_note" : url
},
function (data)
{
var obj = $.parseJSON(data);
var note_count = obj[0].note_count;
chrome.extension.sendMessage({method:"sendNoteCount",note_count: not_count}, function(response) {
});
}
); });
background.js
var urlinbrowser = "";var note_count = "";chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {if(request.method== 'sendUrlInBrowser') urlinbrowser = request.urlinbrowser;else if(request.method== 'sendNoteCount')
{
note_count = request.note_count;
console.log(note_count);
chrome.browserAction.setBadgeText({text:""+note_count});
} });chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.method == "getInfosUser")
{
var storage = chrome.storage.local;
var items_to_retrieve = ['id_user','default_friend_view_user'];
storage.get(items_to_retrieve, function(items) {
var id_user = items.id_user;
var default_friend_view_user = items.default_friend_view_user;
if(items.id_user.replace(' ','')!='undefined')
{
sendResponse({id_user: id_user,default_friend_view_user: default_friend_view_user});
}
});
}
else
sendResponse({}); // snub them.});
実際の主な問題は、クロスサイトリクエストの結果をバックグラウンドに送信する必要があるため、これら2つのメッセージ(URL +結果)をリッスンする必要があることです。 connect()を使用する必要はありませんが、それが機能する場合は...そして2つのコンテンツスクリプトが必要かどうかさえわかりません。誰かが何か考えがありますか?ありがとう...