我有这个小部件元素,需要显示每个Web会话,而不是每个页面,经过一些研究,我意识到我需要为这个元素设置cookie。
你对这件事有什么建议?
更新〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉〉:
我从下面的答案中得到了一些帮助,到目前为止,这是我们得出的结果,尽管新脚本添加了一个存储会话,但它实际上并没有将display:block
规则替换为none
。
if (window.sessionStorage.getItem("elementViewed") === "true") {
let element = document.getElementById('block-16');
element.style.display = 'none';
}
body {
height: 20vh;
}
#block-16 {
position: fixed!important;
width: auto;
right: 100px;
top: 15px;
padding: 30px;
background-color: green;
font-size: 50px;
z-index: 2;
}
aside {
display: block
}
<aside id="block-16" class="footer_widgets widget_block col-xs-12 col-md-3">
<p>test</p>
<!-- A slider shortcode comes here and this slider has its own animation like fadeIn and FadeOut in 10 seconds thats why it doesnt need an extra animation script or Css rule -->
1条答案
按热度按时间okxuctiv1#
一种选择是使用
window.sessionStorage
属性,该属性的作用域限于当前浏览器会话。在元素的第一个视图之后,或者在单击(如果它有关闭按钮)时,可以在
sessionStorage
中设置一个值。设置该值类似于:
然后检查页面加载的值: