页面加载方式不同,window.location vs href:

时间:2012-07-17 11:59:06

标签: javascript jquery html5 jquery-mobile

Hey仍然是JS / CSS / HTML的新手,基本上是webdevelopment。 我有一个页面,我正在动态地加载大部分内容。如果我通过window.location="mapmode.jsp"转到它,那么它无法正确加载,但如果我执行了<a href>标记,那么它就可以正常加载。

此外,如果我在精美的页面上进行页面刷新,它会再次严重加载。 可能是一个jquerymobile的事情,但我只是不确定..

我初始化动态内容的方式也可能是相关的,所以这里是:

$(document).on("pageinit", "#mapmode", function(event) {
    initPageHeader();
});

任何帮助都将不胜感激。

编辑:mapmode.jsp:

<%-- 
    Document   : mapMode
    Created on : Jul 12, 2012, 10:36:22 AM
    Author     : ame
--%>

<!DOCTYPE html> 
<html>
    <head> 
        <title>Map</title> 
        <meta name="viewport" content="width=device-width, initial-scale=1"> 
        <link rel="stylesheet" href="js/jquery.mobile-1.1.0.css" />
    </head> 
    <body> 
        <!-- Start of first page -->
        <div data-role="page" id="mapmode" name="mapmode">

            <div data-role="header" id="header" name="header">

                                <p>TEEEST</p>
            </div><!-- /header -->

            <div data-role="content" id="mapmodePageContent" name="mapmodePageContent"> 
                <p>I'm the first page in mapMode!.</p>      

            </div><!-- /content -->
        </div><!-- /page -->



        <script type="text/javascript" src="js/jquery-1.7.2.js"></script>
        <script type="text/javascript" src="js/jquery.mobile-1.1.0.js"></script>
        <script type="text/javascript" src="js/cordova-1.9.0.js"></script>
        <script type="text/javascript" src="js/LocalAction.js"></script>
        <script type="text/javascript" src="js/firstPage.js"></script>
        <script type="text/javascript" src="js/MenuLoader.js"></script>
        <script type="text/javascript" src="js/PageHeader.js"></script>
        <script type="text/javascript" src="js/Mapmode.js"></script>

    </body>
</html>

1 个答案:

答案 0 :(得分:1)

jQuery Mobile会回避您的浏览器链接和历史记录。它会自动将其连接到链接(<a href>)。但对于JavaScript,您需要使用他们的changePage method

例如:

$.mobile.changePage('pagename.jsp');

使用changePage时,请参阅链接文档以获取更多信息和选项。