表單到另一個頁面應是把 <body> 裡的資料載入呈現,body 以外的 script, js, css 不會再被重
新要求載入、執行。
測試程式碼:
<body>
<div>
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
<li><a href="link2.html">link2</a></li>
</ul>
<a href="link2.html" data-role="none">link2</a>
</div>
</body>
測試程式碼二:
<script type="text/javascript">
$(document).ready(function() {
alert('test');
});
</script>
<body>
<div>link test</div>
</body>
(script 放在 head 的 tag 之間)(以上程式碼要在 head 引入 jQuery Mobile 的 js code)
(利用程式碼一連結程式碼二的頁面)
(用 chrome 的 network 看,有載入所用到的檔案)
(程式碼二的 script 不會被執行)
(不會再載入用到的 script)
測試:
把 script 放在 body 裡時,script 有被執行,但是放在 body 之外的其他地方,script 不會被執
行,推測應該是只把 body 裡的程式碼載入呈現。
解決辦法:
關閉 jQuery Mobile 預設的 ajax:在 <a>、<form> 裡加入 data-ajax="false"。
修改程式碼一
<body>
<div>
<ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b">
<li><a href="link2.html" data-ajax="false">link2</a></li>
</ul>
<a href="link2.html" data-role="none" data-ajax="false">link2</a>
</div>
</body>
(script 成功被執行)