为什么使用 jQuery Mobile 时必须在 Index.html 中包含脚本
简介
在 jQuery Mobile 项目中,使用 $.mobile.changepage() 重定向页面会引起混乱。开发人员必须将所有页面脚本包含在同一个文件index.html 中,否则重定向页面将无法执行其标头中定义的函数。本文解释了这种现象背后的行为。
jQuery Mobile 如何处理页面更改
jQuery Mobile 使用 Ajax 加载后续页面。虽然第一页正常加载,但后续页面仅加载其正文内容。具体来说,只有第一个具有 data-role="page" 属性的 div 会合并到 DOM 中,丢弃其他任何内容。
脚本无法操作的原因
在您的第二页和后续页面中,由于 HTML 正常呈现,该按钮可见。但是,点击事件无法正常运行,因为在页面转换期间其父标头被忽略。
解决方案 1:将脚本移至正文内容
快速解决方案是将将 script 标签添加到后续页面的正文内容中:
<body> <div data-role="page"> // HTML content <script> // JavaScript </script> </div> </body>
解决方案 2:合并 Index.html 中的脚本
首选解决方案是将所有 JavaScript 移入单个文件,index.js,放置在第一个 HTML 文件的头部:
<head> <meta ...> <link rel="stylesheet" ...> <script src="jquery.mobile-1.2.0.min.js"></script> <script src="index.js"></script> // Your consolidated JavaScript </head>
Index.html 合并的原因
Phonegap,如 jQuery Mobile ,可能会出现错误。如果所有 JavaScript 都放置在单个 HTML 文件中,则可能会出现错误并刷新当前页面。如果该页面缺少所需的 JavaScript,则在重新启动之前它将不再起作用。
现实解决方案
将 index.js 文件移至所有其他 HTML 文件的头部。这可以确保即使其他 DOM 元素由于错误而丢失,脚本也可以访问。
结论
了解 jQuery Mobile 如何处理页面更改对于成功的应用程序开发至关重要。在 index.html 中合并脚本是确保脚本可用性并防止 Phonegap 潜在问题的推荐解决方案。
以上是为什么 jQuery Mobile 页面脚本需要包含在'index.html”中?的详细内容。更多信息请关注PHP中文网其他相关文章!