Javascript 背面导航时不显示模式弹出窗口

Javascript 背面导航时不显示模式弹出窗口,javascript,jquery,html,popup,Javascript,Jquery,Html,Popup,我有一个模式弹出窗口,只在主页上显示页面加载。当我导航到另一个页面,然后返回主页时,弹出窗口再次显示。我只希望弹出窗口在用户的计算机上显示一次,无论他们导航回主页多少次。当浏览器关闭,然后重新打开,用户再次进入网站时,弹出窗口才能再次显示。这在不使用会话或数据库的情况下是可能的吗 HTML代码: <div class="modal fade" id="defaultModal" tabindex="-1" role="dialog" aria-labelledby="defaultModa

我有一个模式弹出窗口,只在主页上显示页面加载。当我导航到另一个页面,然后返回主页时,弹出窗口再次显示。我只希望弹出窗口在用户的计算机上显示一次,无论他们导航回主页多少次。当浏览器关闭,然后重新打开,用户再次进入网站时,弹出窗口才能再次显示。这在不使用会话或数据库的情况下是可能的吗

HTML代码:

<div class="modal fade" id="defaultModal" tabindex="-1" role="dialog" aria-labelledby="defaultModalLabel" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="defaultModalLabel">Default Modal Title</h4>
        </div>
        <div class="modal-body">
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pellentesque neque eget diam posuere porta. Quisque ut nulla at nunc <a href="#">vehicula</a> lacinia. Proin adipiscing porta tellus, ut feugiat nibh adipiscing sit amet. In eu justo a felis faucibus ornare vel id metus. Vestibulum ante ipsum primis in faucibus.</p>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pellentesque neque eget diam posuere porta. Quisque ut nulla at nunc <a href="#">vehicula</a> lacinia. Proin adipiscing porta tellus, ut feugiat nibh adipiscing sit amet. In eu justo a felis faucibus ornare vel id metus. Vestibulum ante ipsum primis in faucibus.</p>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
    </div>
</div>

可能在用户第一次访问站点时设置cookie? 并且仅当cookie尚未设置时才显示模式

要在用户关闭浏览器时丢失cookie,可以执行以下操作: 设置一个非常短的间隔,并以短的生存期频繁更新cookie。 尽管我不推荐这种策略,因为它会造成整个javascript执行过程,但我认为它应该可以工作


编辑:如果你可以让间隔时间少一些,我想你可以试试。也许每分钟试一次?另外,不要忘记在每个页面加载时运行“续订”功能

不使用会话或cookie是不可能的。如果您不想使用php#U会话(或c#或其他什么),您可以使用创建会话来验证何时打开模式。可能是在用户第一次进入主页时使用url上的某些内容。

您知道window.sessionStorage吗

//将数据保存到会话存储
setItem('key','value');
//从会话存储中获取保存的数据

var data=sessionStorage.getItem('key')您必须考虑SeStestSturvior的导航版本版本GRESH比IE8i不确定是否跟随您,但是如果您说Windows存储(会话或本地)只支持IE8或更大,那么我同意。我想这并不是一个问题,因为modal本身在IE版本低于8的情况下不会很好地发挥作用。现在,它可以在所有的导航器上工作。只有IE版本低于8时才有问题
$(window).load(function(){
    $('#defaultModal').modal('show');
});