如何使用javascript首次检查页面是否已加载

时间:2015-07-24 08:22:26

标签: javascript jquery

我想检查第一次是否正在加载页面,如果是,则显示过滤器。如果我在pageLoad函数中放置showFiltermenu(),那么每次加载页面时它都会显示,但我只是希望它第一次显示。我尝试使用Page.IsPostBack,但没有显示过滤器。

    <script type="text/javascript">
        function showFiltermenu() {
            $("#filtermenuDrop").toggle('fold', {}, 500);
        }
        function closefiltermenu() {
            $("#filtermenuDrop").toggle('fold', {}, 500);
        }

function pageLoad() {
        $("input[rel^='datepicker']").datepicker({
            dateFormat: 'dd/mm/yy',
            changeMonth: true,
            yearRange: "c-50:c+50",
            changeYear: true,
            showOn: "both",
            firstDay: 1,
            buttonImage: "../images/icons/buttons/basic1-049-small.png"
        });
        <% if (Page.IsPostBack)
           { %>
                showFiltermenu();
        <% } %>

        ShadowboxInit();

    }

3 个答案:

答案 0 :(得分:11)

localStorage您可以保存以下值:

var firstTime = localStorage.getItem("first_time");
if(!firstTime) {
    // first time loaded!
    localStorage.setItem("first_time","1");
}

没有jQuery,没有插件,只有纯粹,漂亮和快速的HTML5 API

答案 1 :(得分:1)

尝试使用Cookie。 cookie对于这种事情非常有用。 首先让我们看看浏览器是否知道cookie:

if(document.cookie)
{document.cookie="Name=Value";
}

else{
alert("perhaps you must change browser.Something in this page can't  load.")
}

请记住,如果你在控制台上写下来,cookie总是返回一个字符串

 document.cookie

设置一个cookie很简单。你可以设置很多cookie。但是如果你删除了cookie,那么你第一次访问网站的浏览器就是这样。 要检查是否设置了cookie,您可以执行以下操作:

 if(document.cookie.search="value")
 {//code that you want to execute if the page is visited yet}

答案 2 :(得分:1)

感谢大家的回答,但我的问题只是一个简单的错误。我忘记了if语句中的!。现在可以检查页面是否第一次加载。

<% if (!Page.IsPostBack)
           { %>
                showFiltermenu();
        <% } %>