Chrome扩展程序中有多封邮件

时间:2012-10-13 13:59:35

标签: google-chrome background messaging content-script

让我解释一下这个问题。 我正在开发一个chrome扩展,而且我有一点功能。 我需要在浏览器中获取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.});

主要问题实际上是我需要将跨站点请求的结果发送回后台,因此它必须收听这两条消息(url + result) 我绝对不能:( 我很确定我不必使用connect()但是如果它能完成工作...... 我甚至不确定我需要2个内容脚本。 有谁有想法吗 ?感谢...

0 个答案:

没有答案