gpt4 book ai didi

javascript - 当用户返回主页时使 Javascript 跳过执行

转载 作者:行者123 更新时间:2023-12-04 01:10:56 24 4
gpt4 key购买 nike

我有一个在访问主网页时执行的 JavaScript 幻灯片放映。当访问者单击链接访问另一个页面(例如:定价)并返回主页时,javascript 会再次执行幻灯片放映,这会在一段时间后“让您感到紧张”。

有没有办法在 session 期间跟踪访问者,以便主页的幻灯片仅在他们第一次访问该站点时执行?

这是代码,网站是https://www.softechsystems.com


    <script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="fadeslideshow.js"></script>

<script type="text/javascript">
var mygallery=new fadeSlideShow({
wrapperid: "fadeshow1", //ID of blank DIV on page to house Slideshow
dimensions: [741, 218], //width/height of gallery in pixels. Should reflect dimensions
of largest image

imagearray: [
["images_iob/admin_panel_3a.jpg", "", "admin panel", ""],
["images_iob/admin_panel_2a.jpg", "", "admin panel", ""],
["images_iob/admin_panel_1a.jpg", "", "admin panel", ""]],

displaymode: {type:'auto', pause:1000, cycles:1, wraparound:false},
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 500, //transition duration (milliseconds)
descreveal: "ondemand",
togglerid: "",
oninit: function(){
--this.setting.totalsteps;
}
})
</script>

请耐心等待,我是一个信息不多的新手..谢谢...Scott Sagnette

最佳答案

有几种方法可以解决这个 Scott,但最简单的方法是利用浏览器的 localStorage MDN .

sessionStorage 在这里不太理想,因为它会导致效果对于用户偏好而言过于频繁地发生。例如,如果用户打开一个新的标签页,就会有一个新的 session 。如果用户重新打开页面,情况相同。

因此,如果您希望它只在第一次访问时发生,或者相对第一次访问(例如在过去一周),您应该使用 localStorage。这是实现此目的的好方法:

(function(){
var loadItem = localStorage.getItem('loaded');
var daysToExpire = 7; // one week

// If it was loaded in the past week, then this is 1 (true), if not 0 (false)
var loaded = Date.now() - loadItem < 1000 * 60 * 60 * 24 * daysToExpire ? 1 : 0;

if(!loaded) {
var mygallery=new fadeSlideShow({ /*...*/ });
}
})();
$(window).on("load", function () {
$(function () {
localStorage.setItem('loaded', Date.now());
});
});

关于javascript - 当用户返回主页时使 Javascript 跳过执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60730877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com