-1
我試圖從Safari Safari擴展中的設置中將變量傳遞給注入的JavaScript。我設法讓消息通過,但不知道如何使用handleMessage作用域的變量,所以我可以在我的注入文件中使用它。 handleMessage函數中的變量printerNAME似乎無法在函數外部訪問?注入腳本的Safari擴展設置
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);
}