一世 之前问这个问题 但并没有明确表示我的意思是在用户脚本中,而不是在网页中的JavaScript中。

是否可以通过用户订阅确定Google Chrome是否处于隐身模式(基本上是作为浏览器中的扩展程序运行的脚本,而不是在网页上运行的脚本)?

有帮助吗?

解决方案

如果要开发扩展名,则可以使用TABS API确定窗口/TAB隐身是否。

可以在 code.google.com.

如果您只是使用网页或用户订阅,这并不容易,并且设计为那样。但是,我注意到在Incongnito中,所有尝试打开数据库(窗口。数据库)失败的尝试,这是因为当隐藏中不允许在用户计算机上保留大量数据。

我尚未测试它,但我怀疑所有对LocalStorage的电话也失败了。

其他提示

要检测窗口是否处于隐身模式,请检查 隐身财产 相关标签或窗口对象的。例如:

var bgPage = chrome.extension.getBackgroundPage();

function saveTabData(tab, data) {
  if (tab.incognito) {
    bgPage[tab.url] = data;       // Persist data ONLY in memory
  } else {
    localStorage[tab.url] = data; // OK to store data
}

http://code.google.com/chrome/extensions/overview.html

如今,从内容脚本执行此操作非常容易。只是使用

if(chrome.extension.inIncognitoContext) {
    //you're incognito
} else {
    //you're not
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top