我只需要在第一次加载页面时显示#IE,我不想在刷新时使用它,我试过这个,但它对我不起作用...我明确需要这个用于localStorage,而不是会话或会话存储,关于此链接:https://stackoverflow.com/a/5523174/8735029
HTML:
<p id="IE">You are not using MS browsers! Good Job!<span>x</span></p>
JS
<script>
// detect IE8 and above, and Edge
if (document.documentMode || /Edge/.test(navigator.userAgent)) {
document.getElementById('IE').innerHTML = "You are using a MS browser,please consider using Chrome or Firefox for better experience!<span>x</span>"
}
</script>
JQuery的:
<script>
$(document).ready(function () {
if (localStorage.getItem('wasVisited') !== undefined) {
$("#IE").fadeIn("slow").css("display": "flex");
} else {
localStorage.setItem('wasVisited', 1);
$("#IE span").click(function(){
$("#IE").fadeOut("slow");
});
}
});
</script>
答案 0 :(得分:1)
您第一次将localstorage项检查为!== undefined。它应该是== undefined,因为该页面打开时第一次未定义项目。
答案 1 :(得分:1)
$("#IE").fadeOut("slow");
位于click
内部。这就是为什么你不在页面刷新时隐藏它。将其移出并休息应该像
$(document).ready(function () {
if (localStorage.getItem('wasVisited') == undefined) {
$("#IE").fadeIn("slow").css("display" , "flex");
localStorage.setItem('wasVisited', 1);
}
$("#IE span").click(function(){
$("#IE").fadeOut("slow");
});
});
修改强>
将localStorage.getItem('wasVisited') !== undefined
更改为localStorage.getItem('wasVisited') == undefined
和
$("#IE").fadeIn("slow").css("display": "flex");
来
$("#IE").fadeIn("slow").css("display" , "flex");