首页 > 解决方案 > 从远程页面调用neutino.js客户端的功能没有任何响应

问题描述

我们使用neutino.js通过将url从neutralino.config.json指向我们的页面来打开一个远程页面,并设置“enableNativeAPI”:true

我们远程页面的index.html:

<!doctype html>
<html lang="en">
    <head>
        <title>Remote Neutralino Page</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
        <meta charset="utf-8"/>
        <meta name="viewport" content="width=device-width, initial-scale=1"/>
    </head>
    <body>
        <div id="root"></div>
        <script type="text/javascript" src="neutralino.js"></script>
        <script>
            Neutralino.init();
            Neutralino.window.setTitle('This is neutralinojs');
        </script>
    </body>
</html>

中性点对象是可用的,但调用它的方法不会做任何事情。
有没有人有同样的问题?请帮忙!!!赞赏。

标签: neutralinojs

解决方案


由于中性素的工作方式,这将不起作用。

Neutralino 启动一个服务于我们的 HTML 文件的服务器,neutralino 使用neutralino.js我们的 HTML 文件中包含的文件。

neutralino.js提供了一个 API 来与运行它的 Neutralino 进程进行交互,但由于您尝试打​​开的文件没有任何中性进程来处理它。

但是您可以尝试一个选项。

您可以使用Neutralino.window.create()函数创建一个新的 Neutralino 窗口并告诉它打开您想要的 HTML 文件。

例如:

async function makeNewWindow() {
  const fileToOpen = "/resources/myOtherFile.html"
  const windowOptions = {
      icon: '/resources/icons/myOtherIcon.png',
      enableInspector: false,
      width: 500,
      height: 300,
      maximizable: false,
      exitProcessOnClose: true,
  }
  await Neutralino.window.create(fileToOpen, windowOptions);
}

Neutralino.init();
Neutralino.events.on("ready", makeNewWindow);

在此代码中,只要您运行程序并且一切准备就绪,makeNewWindow()就会调用函数,该函数会生成 2 个新变量

第一个变量是fileToOpen,该变量存储要打开的文件的路径。第二个变量是windowOptions,该变量存储将为我们的新窗口设置的所有选项。

最后我们调用Neutralino.window.create函数,该函数将第一个参数传递给我们要打开的文件/url,第二个参数是一个包含窗口选项的对象。

阅读更多关于Neutralino.window.create


推荐阅读