-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);
}