我正在寻找一种方法来根据电子加载的页面中提供的信息更新MAC应用程序的徽章值。
我在启动时使用main.js
文件中的以下代码加载页面。
function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({width: 1280, height: 800, show:false})
// and load the index.html of the app.
mainWindow.loadURL('https://myapp/Home.html');
加载的页面' https://myapp/Home.html'有一个隐藏的输入变量,其中包含需要在电子徽章上更新的通知数量
如何从main.js文件中调用变量并使用?
更新徽章app.on('ready', app.setBadgeCount(Html_Hidden_Variable))
请让我知道这是正确的方法,知道我想避免必须创建和额外调用应用程序的数据库。
提前感谢您的帮助。
答案 0 :(得分:1)
您必须使用IPC并将通知编号传递给main.js,然后将其保存在变量中并在代码中使用
答案 1 :(得分:1)
以下是我设法做到的方法。
获取包含通知数量的变量并将其发送到电子申请
<强> Home.html中强>
<script>
//setup the electron object to be able to send variable to it
const ipcRenderer = require('electron').ipcRenderer;
//send the value Html_Hidden_Variable to electron variable CountNotifElectron
ipcRenderer.send('CountNotifElectron', Html_Hidden_Variable);
</script>
检索变量发送并更新徽章。
<强> Main.js 强>
const {ipcMain} = require('electron')
//retreive the variable 'CountNotifElectron' with the number of notification
ipcMain.on('CountNotifElectron', function(event, arg)
{
//update the value of the badge
app.setBadgeCount(arg);
})
})