将单个页面分成多个文件

时间:2012-03-13 22:28:58

标签: jquery jquery-mobile

什么是将页面内容分成多个文件的标准方法,因此所有代码都不在一个文件中。下面的代码片段包含在一个文件中,不应该在单独的文件中引用每个div id页面,这是否有标准做法?

   <div id="page-1" data-role="page">
    <div data-role="header">
        <a href="#" data-icon="arrow-l" data-iconpos="left" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        <h1>Page 1</h1>
    </div>
    <div data-role="content">
        <p>Page 1 content</p>
    </div>
    <div data-role="footer" data-position="fixed">
        <div data-role="navbar">
            <ul>
                <li><a href="#page-1" data-role="tab" data-icon="grid" class="ui-btn-active">Page 1</a></li>
                <li><a href="#page-2" data-role="tab" data-icon="grid">Page 2</a></li>
                <li><a href="#page-3" data-role="tab" data-icon="grid">Page 3</a></li>
            </ul>
        </div>
    </div>
</div>

<div id="page-2" data-role="page">
    <div data-role="header">
        <a href="#" data-icon="arrow-l" data-iconpos="left" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        <h1>Page 2</h1>
    </div>
    <div data-role="content">
        <p>Page 2 content</p>
    </div>
    <div data-role="footer" data-position="fixed">
        <div data-role="navbar">
            <ul>
                <li><a href="#page-1" data-role="tab" data-icon="grid">Page 1</a></li>
                <li><a href="#page-2" data-role="tab" data-icon="grid" class="ui-btn-active">Page 2</a></li>
                <li><a href="#page-3" data-role="tab" data-icon="grid">Page 3</a></li>
            </ul>
        </div>
    </div>
</div>

<div id="page-3" data-role="page">
    <div data-role="header">
        <a href="#" data-icon="arrow-l" data-iconpos="left" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        <h1>Page 3</h1>
    </div>
    <div data-role="content">
        <p>Page 3 content</p>
    </div>
    <div data-role="footer" data-position="fixed">
        <div data-role="navbar">
            <ul>
                <li><a href="#page-1" data-role="tab" data-icon="grid">Page 1</a></li>
                <li><a href="#page-2" data-role="tab" data-icon="grid">Page 2</a></li>
                <li><a href="#page-3" data-role="tab" data-icon="grid" class="ui-btn-active">Page 3</a></li>
            </ul>
        </div>
    </div>
</div>​

1 个答案:

答案 0 :(得分:1)

获取每个data-role="pagedata-role="dialog"元素并将其粘贴到如下文件中:

<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <title>My Page's Title</title>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
        <link rel="stylesheet" href="/css/custom.css" />
        <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
        <script src="/js/custom.js"></script>
    </head>
    <body>
        [Your data-role="page" tag goes here]
    </body>

</html>

你可能在想,really? why duplicate so much in every file?。原因是无论用户进入您的网站,他们都将拥有加载任何页面所需的所有资产。这也很有用,因为jQuery Mobile使用AJAX将后续页面拉入DOM,如果所有代码始终可用,则每个加载的页面都将正常运行。

注意我在包含jQuery Mobile之后添加了/js/custom.js/css/custom.css个文件。这适用于整个站点的所有自定义JS / CSS。

在页面之间进行链接时,请使用绝对URL:

<a href="/hotel/room/special.html">My Link</a>

通过这种方式,您将始终指向正确的URL,如果页面已经加载到DOM中,这有助于确保使用DOM中已有的版本而不是引入另一个版本(如果该版本可能会破坏您的网站DOM中同时存在两个相同的页面。