Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否使用按钮删除整个会话的消息?_Javascript_Android_Css - Fatal编程技术网

Javascript 是否使用按钮删除整个会话的消息?

Javascript 是否使用按钮删除整个会话的消息?,javascript,android,css,Javascript,Android,Css,我使用下面的代码在移动设备智能手机或平板电脑处于纵向模式时显示消息。这个很好用 然而,我需要的代码是,当用户单击X按钮时,只要在该会话中访问网站的任何页面,消息就不再显示 但如果网站关闭;在下次访问时,当以纵向模式查看网站时,该消息应再次出现 如何做到这一点 html, 身体{ 宽度:100%; 身高:200%; } 警告信息{ 显示:无; } @仅媒体屏幕和方向:纵向{ 警告信息{ 显示:块; } } @仅媒体屏幕和方向:横向{ 警告信息{ 显示:无; } } 横向按钮{ 背景色:2A384

我使用下面的代码在移动设备智能手机或平板电脑处于纵向模式时显示消息。这个很好用

然而,我需要的代码是,当用户单击X按钮时,只要在该会话中访问网站的任何页面,消息就不再显示

但如果网站关闭;在下次访问时,当以纵向模式查看网站时,该消息应再次出现

如何做到这一点

html, 身体{ 宽度:100%; 身高:200%; } 警告信息{ 显示:无; } @仅媒体屏幕和方向:纵向{ 警告信息{ 显示:块; } } @仅媒体屏幕和方向:横向{ 警告信息{ 显示:无; } } 横向按钮{ 背景色:2A3847; 颜色:ffffff; 边界半径:0px; 边框:1px纯白; 填充:10px 10px 10px 10px; 浮动:对; 利润上限:-25px; 右边距:-15px; 字体大小:1.3em; } 请以整页模式打开,并将窗口缩放到纵向大小,以查看消息的显示。 X

请旋转屏幕此网站最好以横向模式浏览。因此,请旋转您的移动设备,如果激活,也禁用 你的屏幕旋转锁定。如果您希望保持纵向模式,请忽略此消息并在x处将其关闭


您将要使用sessionStorage-

当用户单击X时:

sessionStorage.setItem('closed', 'true');
重新加载页面时:

var data = sessionStorage.getItem('key');
if (data == 'true') {
    // do nothing
} else {
    // display block
}

下面是工作原理,考虑到会话存储仅在单击X按钮后启动。因此,即使在单击关闭按钮X之前重新加载页面,当窗口大小调整为纵向模式或移动设备保持纵向模式时,消息仍将显示。单击X按钮后,在同一会话中重新加载页面时,消息将不再显示


“你应该和饼干一起去。我该怎么做呢,@Nirav Joshi。”。若用户关闭了Cookie怎么办?那个么你们就可以使用会话了。我不知道你们是什么意思,若你们想实现,你们就必须把数据存储在类似会话的地方。若用户点击那个按钮,你们就必须设置会话。为了显示它,你们必须检查会话是否存在。如果存在,则不显示消息。如果没有,那就展示出来。就这样。如果是android技术,我不知道如何在android中创建会话。希望你现在就能拿到。谢谢你,@Lauren G!对不起,我的回复晚了。我会尝试在我的代码中实现你的答案。不用担心!你现在看到了什么?你知道你的js代码设置和获取sessionStorage变量是否正常工作,或者你是否有任何具体错误?请你看看这里,@Lauren G,看看你是否能帮我让它正常工作@Eddy-问题1:JS的第1行使用“.warning message”而不是“warning message”,尽管我假设您实际上是想在单击“横向按钮”时触发,而不是整个分区。问题2:我假设您想在加载弹出窗口之前检查令牌的状态。这最好在jQuery的`$document.readyfunction{}中处理;.onclick只需要隐藏div;其他一切都可以在docready函数中处理。在docready上,如果“isfirst”不存在,则加载弹出窗口并保存“isfirst”。否则,不显示弹出窗口。这有用吗?谢谢你,劳伦·G!我相信我现在正在做你描述的事情,我希望。然而,它仍然不起作用。即使单击按钮也不会关闭消息。很抱歉再次向你寻求更多的帮助,但我不能独自一人到达那里。
$(document).ready(function() {
    var data = sessionStorage.getItem('isfirst');
    if (data == undefined) {
        $("#warning-message").addClass("shown-modal");
    } else {
        $("#warning-message").hide();
    }
});
//close the pop
$("#landscape-button").on('click', function() {
    sessionStorage.setItem('isfirst', 'true');
    $("#warning-message").hide();
});