Chromeがユーザー-Scriptを介してシークレットモードであるかどうかを判断することは可能ですか?

StackOverflow https://stackoverflow.com/questions/2916876

質問

前にこの質問をしました しかし、WebページのJavaScriptではなく、ユーザースクリプトで意味することを明確にしていませんでした。

Google Chromeがユーザースクリプトを介してIncognitoモードであるかどうかを判断することは可能ですか(基本的には、Webページで実行されるスクリプトではなく、ブラウザで拡張機能として実行されるスクリプト)?

役に立ちましたか?

解決

拡張機能を開発している場合は、Tabs APIを使用して、ウィンドウ/タブがIncognitoかどうかを判断できます。

詳細については、詳細をご覧ください code.google.com.

Webページやuserscriptを使用しているだけの場合、それは簡単ではなく、そのように設計されています。ただし、Incongnitoでデータベース(window.database)を開くためのすべての試みが失敗することに気づきました。これは、Incognitoの場合、ユーザーマシンにデータのトレースが許可されないためです。

私はそれをテストしていませんが、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