我有一个 page1.html,里面有这样一个链接:
<a href="page2.html">PAGE2</a>
一部分page2.html
是这样的:
<html>
<head>
</head>
<body>
<div data-role="page">
</div>
<script src="file1.js"></script>
<script src="file.js"></script>
</body>
</html>
还有这个:
<html>
<head>
</head>
<body>
<div data-role="page">
</div>
<div data-role="page">
<script src="file1.js"></script>
<script src="file.js"></script>
</div>
</body>
</html>
这两个js
文件在page2.html
上实现了一些功能,但是当通过page1.html导航到
这两个文件不会工作,但是当使用 page2.html
时data-ajax="false"
完成时它会工作。
怎么了。 脚本
应该放在哪里?我需要默认的 ajax
来实现更平滑的转换。
最佳答案
更新
As per your updated question, you can't mix Single Page Model with Multi-Page Model. When you load page2.html first
data-role="page
and ONLY first one is loaded. Anything else is neglected.
示例:
index.html(第一页加载)- <html>
内的所有标签无论是否启用 Ajax,都会加载到 DOM 中。
<html>
<head>
<!-- JS, CSS, etc.. -->
</head>
<body>
<!-- pages -->
</body>
</html>
page2.html - 除了 FIRST data-role="page"
之外的所有标签都被忽略及其内容,当 Ajax 启用时。
<!-- libraries in head are neglected -->
<head>
<!-- JS, CSS, etc.. -->
</head>
<body>
<!-- ONLY first page is loaded -->
<div data-role="page">
<!-- JS -->
</div>
<!-- next pages are neglected -->
<div data-role="page">
</div>
</body>
当使用单页模型并且启用 Ajax 时,您必须将外部 页面的JS 库/代码放在<div data-role="page">
中。 .
<div data-role="page">
<script src="file1.js"></script>
<script src="file.js"></script>
</div>
jQuery Mobile 通过 Ajax 加载外部页面,它只首先加载 <div data-role="page">
在 <body
并忽略 page div 之外的任何其他标签。
关于javascript - 因为在 Javascript 中没有加载到 jquery mobile 中的 dom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21625225/