node-webkit(nwjs):如何普遍应用“新政策”?

我正在使用node-webkit构build一种特定于站点的浏览器,并且我需要将策略应用到DOM准备就绪的任何新页面。

我已经了解到,“新政策”事件是要走的路,而且必须在每个窗口(DOM)的窗口上下文中加载,根据这个问题/答案:

如何处理在node-webkit中正确打开_blank窗口的链接?

问题是:是否可以从node-webkit应用程序中包含的main.js中进行修改,还是必须对原始网站进行修改? (IOW,我是否必须让网站node-webkit意识到要实现我所瞄准的目标?)

Eli,我只是使用一个具有外部URL的iFrame,因为它是src属性。 内容/服务器不受我控制。 我只是添加一个适用的id到iFrame,因为我正在使用Bootstrap,如果你喜欢,你可以使用JQuery和类select器。 请参阅我的答案,在这里: 如何处理在node-webkit中正确打开_blank窗口的链接?

由于我找不到“新政策”的实际例子,我按照这个build议来使用jQuery。 它工作正常。

$(document).ready(function() { $('a[target=_blank]').on('click', function(){ require('nw.gui').Shell.openExternal( this.href ); return false; }); }); 

这个代码可以添加到你的main.js而不需要修改你的原始网站。 在这个例子中,每个新页面都会在默认的Web浏览器中打开。