我正在尝试将 head.js 的 javascript 加载器部分与我的 JQM 网站集成。
我有几个问题:
- 在某些页面上,我看到我尝试加载的脚本块在页面上加载了 3-4 次 head.js。
- 在所有页面上,我都看到了大量无样式内容 (FOUT)。样式最终会加载。
以下是说明每个问题的一些示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<title>Main Menu</title>
<!-- JQM CSS -->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<!-- Custom Theme CSS -->
<link rel="stylesheet" href="themes/cayce.css" />
<!-- Custom CSS -->
<link rel="stylesheet" href="css/custom.css" />
<script src="js/head.load.min.js"></script>
<script>
head.js("http://code.jquery.com/jquery-1.8.2.min.js", "js/custom.js", "http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js");
</script>
</head>
<body>
<div data-role="page" id="landing">
<div data-role="header">
<h1>Main Menu</h1>
<div class="header-sub">
<div class="logo">
<a href="WebCatPageServer.exe?Landing">
<img src="themes/images/logo.png" width="100" height="49" alt="Company Logo">
</a>
</div>
</div>
<!-- Search Bar-->
<div class="ui-body ui-body-b">
<fieldset>
<form name="Search" id="searchform" method="post" action="WebCatPageServer.exe">
<input name="Action" type="hidden" value="Search"/>
<input name="PrevSearchText" type="hidden" value="" />
<input name="Start" type="hidden" value="1" />
<input name="New" type="hidden" value="YES" />
<input name="Refine" type="hidden" value="NO" />
<label for="search-basic"></label>
<input type="search" name="Search Term" id="search-basic" placeholder="Enter Part #'s or Keywords" tabindex="1"/>
</form>
</fieldset>
</div><!-- /Search Bar -->
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true">
<li><a href="SPI_TOCLink" data-theme="c">Browse Products</a></li>
<!-- SPI_HTML_ShowSearchMenu -->
<li><a href="SPI_SearchLink" id="SPI_CurrMenuSearch" data-prefetch>SPI_SearchMenuText</a></li>
<!-- SPI_HTML_ShowSearchMenu -->
<!-- SPI_HTML_AllowKits -->
<li><a href="SPI_KitsLink" data-theme="c" id="viewjobs" data-prefetch>View Jobs</a></li>
<!-- SPI_HTML_AllowKits -->
<!-- SPI_HTML_AllowOrderPlacement -->
<li><a href="SPI_ShopingCartLink" data-theme="c" data-prefetch>Shopping Cart</a></li>
<!-- SPI_HTML_AllowOrderPlacement -->
<!-- SPI_HTML_AllowSales -->
<li><a href="SPI_SalesLink" id="SPI_CurrMenuSales" data-prefetch>SPI_SalesMenuText</a></li>
<!-- SPI_HTML_AllowSales -->
<!-- SPI_HTML_ShowMyAccountMenu -->
<li><a href="SPI_MyAccountLink" data-theme="c" data-prefetch>SPI_MyAccountMenuText Dashboard</a></li>
<!-- SPI_HTML_ShowMyAccountMenu -->
<li><a href="SPI_LogoutLink">Logout</a></li>
</ul><!-- /listview -->
</div><!-- /Content-->
<div data-role="footer">
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<title>Login</title>
<!-- JQM CSS -->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<!-- Custom Theme CSS -->
<link rel="stylesheet" href="themes/cayce.css" />
<!-- Custom CSS -->
<link rel="stylesheet" href="css/custom.css" />
</head>
<body>
<div data-role="page" id="login">
<div data-role="header">
<h1>Login</h1>
<div class="header-sub">
<div class="logo">
<a href="WebCatPageServer.exe?Landing">
<img src="themes/images/logo.png" width="100" height="49" alt="Company Logo">
</a>
</div>
</div>
</div>
<div data-role="content">
<div class="ui-bar text-center">
<p>Please enter your <strong>Username</strong> and <strong>Password</strong> below to log in to the SPI_Cname Mobile Web Store.</p>
</div>
<!-- SPI_HTML_UnknownLogin
<div class="ui-bar ui-bar-e text-center">
<br>
<h2>Please Try Again</h2>
<p>Either the Username or Password you entered doesn't match our records. Please try logging in again.</p>
</div>
<br>
SPI_HTML_UnknownLogin -->
<!-- SPI_HTML_ExpiredLogin
<div class="ui-bar ui-bar-e text-center">
<br>
<h2>Please Log In Again</h2>
<p>Either your session has expired or you logged in on another computer. Please log in again.</p>
</div>
<br>
SPI_HTML_ExpiredLogin -->
<!-- SPI_HTML_SessionLogout
<div class="ui-bar ui-bar-e text-center">
<br>
<h2>You've Logged Out.</h2>
<p>You have successfully logged out of SPI_Cname online.</p>
</div>
<br>
SPI_HTML_SessionLogout -->
<div class="ui-body ui-body-c">
<form name="Form" method="post" action="WebCatPageServer.exe">
<input name="Action" type="hidden" value="Login" class="hidden" />
<input name="Request" type="hidden" value="SPI_PageRequest" />
<div data-role="fieldcontain">
<label for="username">Username</label>
<input type="text" name="username" id="username" tabindex="1" value=""/>
</div>
<div data-role="fieldcontain">
<label for="password">Password</label>
<input type="password" name="password" id="password" tabindex="2" value=""/>
</div>
<div data-role="controlgroup" style="width:100%; text-align:center">
<input name="loginbutton" type="submit" data-theme="b" style="width:100%;" value="Sign In" tabindex="3"/>
</div>
</form>
</div><!-- /ui-body ui-body-c -->
<br>
<ul data-role="listview" data-inset="true">
<!-- SPI_HTML_GuestLogin
<li><a href="href="javascript:document.Form.Username.value='guest';document.Form.Password.value='guestpassword';document.Form.submit();">Guest Login</a></li>
SPI_HTML_GuestLogin -->
<li><a href="tel://SPI_CPNum">Call Us: SPI_CPNum</a></li>
<li><a href="WebCatPageServer.exe?Account_Request" id="accountrequest">Request Online Account</a></li>
</ul><!-- /listview -->
</div><!-- /content -->
<div data-role="footer">
</div><!-- /footer -->
<!-- Start headjs -->
<script src="js/head.load.min.js"></script>
<script>
head.js("http://code.jquery.com/jquery-1.8.2.min.js", "js/custom.js", "http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js", function() {
$('#login').on('pageshow', function () {
$(':input:visible:enabled:first').focus();
});
});<!-- End headjs -->
</script>
</div><!-- /page -->
</body>
</html>
需要注意的几点:
- 我在全球范围内禁用了ajax。
- 我正在使用单页模板(多页)。
谢谢!