登录

加载javascript:即使在重新加载页面之后,也只加载一次javascript

1970-01-01 ·JavaScript

加载javascript,:重新加载页面,只加载一次javascript


加载javascript:即使在重新加载页面之后,也只加载一次javascript

有一个WordPress页面,需要编辑JS函数来只加载一个,即使单击重新加载页面或转到另一个页面。是否可以避免在重新加载页面时重新运行javascript函数?

function showAd(){
        var adShownTel = false;
        jQuery(window).scroll(function() {
            var currentScroll = jQuery(window).scrollTop();
            if (currentScroll > 1600 && !adShownTel) {    
                var screenWidth = jQuery( document ).width();
                    adShownTel = true;
                    var $bannTel = jQuery("<div>", {id: "sticky_banner_tel_UTM", "class":"sticky_banner_tel_UTM"});
                    if(sssp.displaySeznamAds()) {
                        if(screenWidth < 737){
                        $bannTel.append("<div style="display:inline-block;"><div id="ssp-zone-97408"></div><script>sssp.getAds([{"zoneId": 97408, "id": "ssp-zone-97408","width": 320,"height": 100}]);</script></div>");
                    }
                    var $bannElClose = jQuery("<div>", {id: "sticky_banner_close", "class": "sticky_banner_close"});
                    $bannElClose.append("<span>Zavřít reklamu</span>");
                    $bannElClose.click(function(){
                        if(screenWidth < 737){
                            $bannTel.slideToggle("slow");
                        }
                    });
                        if(screenWidth < 737){
                            $bannTel.append($bannElClose);
                            jQuery("body").append($bannTel);
                        }
                }
            }
        });
    }
    jQuery(document).ready(function(){  
        showAd();
    });

javascript


需要一个cookie来记录:尝试以下方法:



This may be a job for a cookie :} This obligatory tutorialpoint link may be able to help you out try something like:

function showAd(){
    **if(!document.cookie){**
        var adShownTel = false;
        **document.cookie = "visited";**
        jQuery(window).scroll(function() {
            var currentScroll = jQuery(window).scrollTop();
            if (currentScroll > 1600 && !adShownTel) {    
                var screenWidth = jQuery( document ).width();
                    adShownTel = true;
                    var $bannTel = jQuery("<div>", {id: "sticky_banner_tel_UTM", "class":"sticky_banner_tel_UTM"});
                    if(sssp.displaySeznamAds()) {
                        if(screenWidth < 737){
                        $bannTel.append("<div style="display:inline-block;"><div id="ssp-zone-97408"></div><script>sssp.getAds([{"zoneId": 97408, "id": "ssp-zone-97408","width": 320,"height": 100}]);</script></div>");
                    }
                    var $bannElClose = jQuery("<div>", {id: "sticky_banner_close", "class": "sticky_banner_close"});
                    $bannElClose.append("<span>Zavřít reklamu</span>");
                    $bannElClose.click(function(){
                        if(screenWidth < 737){
                            $bannTel.slideToggle("slow");
                        }
                    });
                        if(screenWidth < 737){
                            $bannTel.append($bannElClose);
                            jQuery("body").append($bannTel);
                        }
                }
            }
        });
    }
    }
    jQuery(document).ready(function(){  
        showAd();
    });


可以使用cookie或本地存储。像这样:



function showAd(){
        ...
        adShownTel = true;
        window.localStorage.setItem("adShownTel", true)
        ...
}

jQuery(document).ready(function(){  
        if (Boolean(window.localStorage.getItem("adShownTel"))) {
                showAd();
        }
});

但是,最好尝试找到一个库,而不是自己实现这个功能。

· END ·

TAG:加载javascript,:重新加载页面,只加载一次javascript 来源:网络

热门标签

首页 - 导航 - 免责 - 官方微信 - 用户反馈

© 2019 GOODTEXT.CN