电子:如何在电子加载的页面中提取变量以更新徽章值。

时间:2016-12-15 10:07:07

标签: electron electron-builder

我正在寻找一种方法来根据电子加载的页面中提供的信息更新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))

请让我知道这是正确的方法,知道我想避免必须创建和额外调用应用程序的数据库。

提前感谢您的帮助。

2 个答案:

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