Chromeがユーザー-Scriptを介してシークレットモードであるかどうかを判断することは可能ですか?
-
04-10-2019 - |
質問
私 前にこの質問をしました しかし、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
}
最近では、コンテンツスクリプトからこれを行うのは非常に簡単です。使用するだけです
if(chrome.extension.inIncognitoContext) {
//you're incognito
} else {
//you're not
}
所属していません StackOverflow