Мое расширение создает объект на фоновой странице и сохраняет все
переменные конфигурации в этом объекте.Этот объект является общим для
всех сценариев содержимого и, следовательно, фоновая страница отправляет его в
сценарии содержимого после получения запроса на подключение:
// В background.html
timObject = {
property1: "Hello",
property2: "MmmMMm",
property3: ["mmm", 2, 3, 6, "kkk"],
method1: function (){alert («Метод был вызван» +
this.property1)}
};
chrome.extension.onConnect.addListener (function (port) {
console.assert (port.name == "forTimObject");
port.postMessage ({object: timObject});
});
// Теперь в скрипте содержимого:
var extensionObject = null;
var port = chrome.extension.connect ({name: "forTimObject"});
port.onMessage.addListener(function (msg) {
if (msg.object! = null)
extensionObject = msg.object;
else
alert ("Object is null");
});
alert (extensionObject.property1);// Это нормально, окно с предупреждением отображается с правильным содержанием
alert (extensionObject.method1) // Uncaught TypeError: У объекта # нет метода 'method1'
Что я делаю неправильноздесь?
Заранее спасибо!