【发布时间】:2017-05-20 21:03:54
【问题描述】:
我正在尝试创建一个跨浏览器 javascript 来检测访问者是否使用隐身模式,并在用户以正常模式访问页面时发出警报消息。
目前我有一个脚本,它在 Chrome 和 Opera 上运行良好,但我需要让它在所有其他浏览器以及 firefox、safari、Edge 等浏览器上运行。
我的脚本(在 Chrome 和 Opera 上工作)是:
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
function main() {
var fs = window.RequestFileSystem || window.webkitRequestFileSystem;
if (!fs) {
alert("check failed!");
return;
}
fs(window.TEMPORARY, 100, function(fs) {
alert("You are not using Incognito Mode!");
});
}
main();
}//]]> </script>
请帮助我编写一个这样的脚本,以便在所有主要网络浏览器中提供相同的警报结果。
谢谢
更新:
我终于也为 Firefox 制作了一个工作脚本。代码如下:
<script type='text/javascript'>
var db;
var request = indexedDB.open("MyTestDatabase");
request.onsuccess = function(event) {
if (navigator.userAgent.indexOf("Firefox") != -1)
{
alert("You are not using Incognito Mode!");
};
};</script>
我使用了“if (navigator.userAgent.indexOf("Firefox") != -1)”函数,使其仅在 Firefox 上执行,而不是在 chrome 或任何其他浏览器中执行。
更新:
好的,又一个成就!我也成功地为 Safari 编写了脚本。这里是:
<script type='text/javascript'>
try { localStorage.test = 2; } catch (e) {
}
if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0)
{
if (localStorage.test = "true") {
alert("You are not using Incognito Mode!");
}
}
</script>
再次,我使用了“if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome")
现在我需要帮助来编写仅适用于 Edge 浏览器的脚本。
【问题讨论】:
-
'无法使用 indexedDB 为 firefox 执行此操作。并且没有一个单一的脚本可以实现这一点。
-
不适用于 Chrome 58
-
@SidneydeMoraes 它在 Chrome 63 上为我工作
-
@cody 感谢您的回复,但我的评论已有 6 个月了。你可以无视它。
标签: javascript google-chrome firefox safari microsoft-edge