我已经设置了一个JqueryMobile应用程序,它可以动态地创建我的脚本提取的一些JSON数据的页面。所有这些页面或内联和拉起来都很好。但是,我需要在这些页面中包含一些JS,但是我编写的任何东西都会在主页面后被忽略。例如,我有一个简单的功能,当点击id为“video”的链接时,它会显示一条警告信息。在我的主页面上,这很好用但不在任何子页面上。如何在所有页面上显示我的脚本?谢谢你的帮助!
答案 0 :(得分:0)
生成动态页面后加载外部javascript
<script id="external_script" type="text/JavaScript"></script>
<script>
function loadscript(scripturi) {
document.getElementById('external_script').src = scripturi;
}
</script>
以生成/加载动态页面后运行的方式运行loadscript(..)。
e.g。
<div id="dynamic-container"><!-- --></div>
$(#dynamic-container).load("url", function() {
loadscript(dynamicscriptURL);
});
OR
使用一个小javascript library提供方便的功能“确保”,允许您按需加载Javascript,HTML,CSS,然后执行您的代码。它不仅可以加载javascript,还可以加载html代码段和css。最好你可以等待它们加载然后调用动态加载的函数。例如,以下加载javascript,一些html代码段,相关的css然后执行仅在脚本动态加载时可用的javascript。
ensure( { js: "popup.js", html: "popup.html", css: "popup.css" }, function()
{
PopupManager.show();
});
答案 1 :(得分:0)
脚本应包含在子页面的页面区域中,否则将不会加载脚本。
<div data-role="page" id="subpage">
<div data-role="content"></div>
<script type="text/javascript" src="video.js"></script>
<div>