【问题标题】:Is it possible to determine if Chrome is in incognito mode via a user-script?是否可以通过用户脚本确定 Chrome 是否处于隐身模式?
【发布时间】:2011-02-24 09:41:15
【问题描述】:

asked this question before 但没有明确表示我的意思是用户脚本,而不是网页中的 JavaScript。所以我现在会更清楚。

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

【问题讨论】:

  • 你为什么想知道这个?

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    更多信息请访问code.google.com

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

    我尚未对其进行测试,但我怀疑对 localStorage 的所有调用也会失败。

    【讨论】:

    【解决方案3】:

    如今,通过内容脚本很容易做到这一点。只需使用

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

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多