Deb*_*e A 5 javascript cookies internet-explorer internet-explorer-11
使用IE11,即使将我的隐私设置为“阻止所有Cookie”,我也可以显示所有Cookie的内容,写出一个Cookie,找到它,然后使用JavaScript删除它。(实际上,无论我将IE仿真器设置为哪个版本,document.cookie仍然可以使用。)它在禁用了cookie的Chrome上应能正常工作-即,当我尝试在浏览器中引用它时,document.cookie返回空/空相同的JavaScript。
我正在尝试检测用户是否在IE中关闭了Cookie。(需要ASP带有IE的旧ASP应用程序。没有JQuery。没有Modernizr。)为此,我试图写出一个cookie,找到它,然后将其删除。这要么起作用,要么不起作用-这应该告诉我cookie是打开还是关闭。有任何想法吗?我认为这是检测用户的IE cookie设置的最安全方法。
我的代码:
<script language=javascript>
cookiesON = false;
if ("cookie" in document ) {
alert("1. document.cookie (before add): " + document.cookie);
var dateNow = new Date();
document.cookie = "testcookie=" + new Date()
alert("2. document.cookie (after add): " + document.cookie);
if (document.cookie.indexOf("testcookie=") > -1) {
cookiesON = true;
} else {
cookiesON = false;
}
// delete cookie: set cookie to expire 2 minutes ago
document.cookie="testcookie=xx; expires=" + (new Date(dateNow.getTime() - 2*60000).toGMTString());
alert("3. document.cookie (after delete): " + document.cookie);
}
Run Code Online (Sandbox Code Playgroud)
在IE上:无论打开还是关闭cookie,所有3个警报都会显示document.cookie的值。您可以看到正在添加和删除的testcookie。
在Chrome上:关闭Cookie后,所有3个警报的document.cookie均显示为空白。启用cookie时,按IE所述工作。