Я пытаюсь передать переменную из настроек моего расширения сафари на введенный javascript. Мне удалось передать сообщение, но не знаю, как использовать переменную из области handleMessage, чтобы я мог использовать ее в моем вложенном файле. Переменная printerNAME в функции handleMessage не доступна вне функции?Настройки расширения Safari для Injected Script
global.html
safari.application.addEventListener('message', handleMessage, false);
function handleMessage(msg) {
if(msg.name === 'printerName') {
alert(msg.message);
}
var printerName = safari.extension.settings.printerName;
safari.application.activeBrowserWindow.activeTab.page.dispatchMessage('printerName', printerName);
}
injected.js
var printerNAME;
function handleMessage(msg) {
if(msg.name === 'printerName') {
printerNAME = msg.message;
}
}
if (window.top === window) {
safari.self.addEventListener('message', handleMessage, false);
safari.self.tab.dispatchMessage('printerName', printerNAME);
alert(printerNAME);
}