是否可以通过用户标记确定Chrome是否处于隐身模式?
-
04-10-2019 - |
题
一世 之前问这个问题 但并没有明确表示我的意思是在用户脚本中,而不是在网页中的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
}
如今,从内容脚本执行此操作非常容易。只是使用
if(chrome.extension.inIncognitoContext) {
//you're incognito
} else {
//you're not
}
不隶属于 StackOverflow