我可以使用nw.js加载网站

时间:2016-01-29 15:48:01

标签: nw.js

我知道nw.js通常是为了在客户端上加载html,但它是否也可以指向一个网站并显示出来?当我将package.json中的“main”值设置为google.com时,它不起作用。

我正在制作一个游戏启动器应用程序,它为我的游戏显示一个网站,并且具有来自启动器的登录功能,然后将其发送到游戏exe。因此,我想让部分nw.js实际上连接到网络并显示一个网站。

4 个答案:

答案 0 :(得分:0)

当然你可以(使用JavaScript):

将主要值保留为index.html "main": "index.html",然后保存在index.html中(您也可以在其他html页面上使用此值)

<script>
        // similar behavior as an HTTP redirect
        window.location.replace("http://google.com");
</script>

<script>
        // similar behavior as clicking on a link
        window.location.href = "http://google.com";
</script>

注意:当您从网上加载资源时,与从本地加载资源相比,渲染网站可能会更加明显。

答案 1 :(得分:0)

您可以使用Chrome的<webview>标记。

虚拟例子:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            html, body, webview { width: 100%; height: 100%; }
            h1 { text-align: center; }
        </style>
    </head>
    <body>
        <h1>Please log in:</h1>
        <webview id="login-view" src="http://example.com/"></webview>
    </body>
</html>

&#34;主持人之间的沟通&#34; (本地)页面和&#34;客人&#34; (外部)页面可以使用ContentWindow and WebRequestEventInterface属性实现。

答案 2 :(得分:0)

你可以使用iframe来做到这一点:

   <body>
   <iframe src="http://yourwebsite.com"></iframe>
   ...
   </body>

您可以阅读有关这些here

的更多信息

答案 3 :(得分:0)

我会:

  • 制作本地登录页面
  • 让它将登录数据(用户/通行证,令牌,您选择)发布到您的https端点,可能是通过ajax。一些方向here
  • 回读登录状态信息,在本地使用它们来做一些匹配的逻辑。您甚至可以将它们传递给您的exe,具体取决于您的启动方式,以便游戏本身可以再次验证信息

一个不太优雅的解决方案(至少对我而言)是做一些iframe / webview杂耍。类似于人们在Cordova应用程序中管理Facebook登录流程的方式:

  • 在webview / iframe
  • 中打开远程登录页面
  • 在iframe上收听网址更改
  • 无论如何,通过在重定向后查看iframe的url来检测会话是否已启动。 Facebook这样做是通过将您重定向到选择页面或标准Facebook页面,并在该URL上附加一个令牌,您最终可以将其用于后续呼叫。

这很普遍,但我不知道你是否可以在远程登录页面上写一些自定义逻辑;例如,让它以JSON而不是cookie返回会话数据。