How to navigate to new page in nw.js

时间:2016-02-03 03:50:51

标签: nw.js

This is probably a simple question but I can't for the life of me find the answer online. I'm using nw.js and you specify the main html file in the package file. However, how can I navigate in the same main window to a different html page? The Window object doesn't seem to have any way to do this. It has an open() function but that opens a new window which isn't what I want.

2 个答案:

答案 0 :(得分:2)

与Ike10的答案类似,我只需编码即可实现这一目标:

location.href = './newHTMLDoc.html';

也许这是我的NW版本,但是我的窗口对象不允许代码:

window.location.href

如果你有一个系统托盘或其他资源附加到窗口,你仍然可以在视觉上,但将无法再使用它们,迫使你按照CTRL-ALT-DEL的方式摆脱困境。因此,请务必根据需要删除资源。

编辑 - 一些添加的信息,用于将数据从一个HTML文档传递到下一个

如果你像我一样需要在页面之间传递数据,我找到了一个简单的解决方案。如果我们要创建一个新窗口,您可以使用“emit”在窗口之间传递数据。但是,我们只是更改.html文档,因此我们无法使用该方法。

与Java中的Singleton类似,您可以通过创建包含要在整个应用程序中使用的所有变量的Javascript文件,在.html文档之间传递数据。只要您在所有.html页面中都包含Javascript文件,您就可以使用这些变量。

我只是在学习Javascript,所以这对许多人来说已经很明显了,但我想我会分享这个。

答案 1 :(得分:1)

我对nw.js很新,但我找到了一个解决方案。我认为窗口对象不起作用的原因是因为javascript上下文。 Nw.js有一个节点上下文和一个webkit上下文。 (更多内容可以在这里阅读:https://github.com/nwjs/nw.js/wiki/Differences-of-JavaScript-contexts)。但是,我通过创建一个单独的js文件来设置一个更改页面的按钮来解决我的类似问题。

index.js:

document.getElementById("button").onclick = function(){
    window.location.href = './OtherPage.html';
}

确保在同一个js文件中不使用require方法,因为这会改变上下文。

然后将其加载到您的html文件中。

的index.html:

<script src="./path_to/index.js"></script>

希望这会有所帮助。随意提出问题或详细说明。我会尽力帮助你。