我需要使我的Greasemonkey脚本在Firefox私有浏览窗口中正在运行时的行为不同.可以从Greasemonkey中检测出来吗?如果没有,那么在私人浏览模式下是否有可能无法运行?
编辑:我想这样做的一个原因是通常脚本会产生AJAX请求,其中包括有关访问页面和服务器端的信息可能会存储该信息(在正常模式下浏览时可以使用).如果用户在私人浏览中,我不希望服务器端具有用户访问该页面的信息,所以我想让它不会在这种情况下提出这些请求.
解决方法
从Firefox中的插件中,您可以检测浏览器是否处于私有浏览模式,下面的代码取自
Mozilla’s developer docs.然而,这是内部API,只能从插件内部访问,而不是网站或第三方脚本.
没有任何帮助,这将有助于您,因为我不知道如果Grease Monkey暴露在Firefox中的组件API在GM脚本中使用.初始搜索似乎没有什么是这样的.
try { var pbs = Components.classes["@mozilla.org/privatebrowsing;1"] .getService(Components.interfaces.nsIPrivateBrowsingService); var inPrivateBrowsingMode = pbs.privateBrowsingEnabled; if (!inPrivateBrowsingMode) { /* save private information */ } } catch(e){ alert("Error!"); }