是否可以通过用户脚本确定Chrome是否处于隐身模式?

时间:2010-05-26 21:15:54

标签: google-chrome-extension userscripts incognito-mode

asked this question before但是没有说清楚我的意思是用户脚本,而不是来自网页的JavaScript。所以我现在会更清楚。

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

3 个答案:

答案 0 :(得分:11)

  

检测窗口是否在   隐身模式,请检查隐身模式   属性相关标签或   窗口对象。例如:

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

答案 1 :(得分:8)

如果您正在开发扩展程序,则可以使用标签API来确定窗口/标签是否隐身。

可以在code.google.com找到更多信息。

如果您只是使用网页或用户脚本,那就不容易了,它就是这样设计的。但是,我注意到在incongnito中打开数据库(window.database)的所有尝试都失败了,这是因为在隐身时,不允许在用户计算机上留下任何数据痕迹。

我没有测试过,但我怀疑对localStorage的所有调用也都失败了。

答案 2 :(得分:0)

现在从内容脚本中很容易做到这一点。只需使用

if(chrome.extension.inIncognitoContext) {
    //you're incognito
} else {
    //you're not
}