从node-webkit打开外部锚点链接

我使用Dart制作游戏,并使用node-webkit和node-webkit.dart (node-webkit模块的Dart包装器)将其打包。

我的目标是让node-webkit应用程序游戏作为独立的本机应用程序显示。 为了实现这一点,我已经剥离了导航栏和其他一些东西。 我所有的资产都是本地的,游戏永远不需要连接到互联网。

我有一些锚链接在我的HTML(例如通往我的网站)。 当我点击它们时,我的node-webkit窗口会打开它自己的链接。 除了这个从来没有作为我的计划,我没有办法返回到游戏,因为我把导航栏了。

所以我的问题:是否有可能做一个处理程序,打开锚链接外部(在用户的浏览器select)? 记住可以dynamic添加锚链接。

我知道关于Shell.openExternal(url)但我想不出一种方法来使每个锚链接调用它。

谢谢!

事实certificate,有一个node-webkit事件来处理链接,但node-webkit.dart似乎不支持它。

为了解决我的问题,我添加了一个内联JS脚本到我的主HTML文件:

 <script type="text/javascript"> try { var gui = require('nw.gui'); var win = gui.Window.get(); win.on('new-win-policy', function (frame, url, policy) { gui.Shell.openExternal(url); policy.ignore(); }); } catch(e) { } </script> 

(空的try / catch是因为当我的游戏在节点环境之外运行时抛出错误)。

Interesting Posts