我设置了一个 JqueryMobile 应用程序,该应用程序根据我的脚本提取的一些 JSON 数据动态创建页面。所有这些页面或内联并拉起罚款。但是,我需要在这些页面中包含一些 JS,但是我写的任何内容在主页之后都会被忽略。例如,我有一个简单的功能,当点击一个带有“视频”ID 的链接时,它会显示一条警报消息。在我的主页上,这很好用,但在任何子页面上都没有。如何让我的脚本出现在所有页面上?谢谢您的帮助!
问问题
405 次
2 回答
0
生成动态页面后加载外部 javascript
<script id="external_script" type="text/JavaScript"></script>
<script>
function loadscript(scripturi) {
document.getElementById('external_script').src = scripturi;
}
</script>
以这样的方式运行 loadscript(..),它会在您生成/加载动态页面后运行。
例如
<div id="dynamic-container"><!-- --></div>
$(#dynamic-container).load("url", function() {
loadscript(dynamicscriptURL);
});
或者
使用一个小型javascript 库,它提供了一个方便的功能“确保”,它允许您按需加载 Javascript、HTML、CSS,然后执行您的代码。它不仅可以加载 javascript,还可以动态加载 html 片段和 css。最好你可以等待它们加载,然后调用动态加载的函数。例如,下面加载javascript,一些html片段,相关的css,然后执行一个只有在动态加载脚本时才可用的javascript。
ensure( { js: "popup.js", html: "popup.html", css: "popup.css" }, function()
{
PopupManager.show();
});
于 2012-04-11T16:02:46.147 回答
0
脚本应包含在子页面的页面区域中,否则将不会加载脚本。
<div data-role="page" id="subpage">
<div data-role="content"></div>
<script type="text/javascript" src="video.js"></script>
<div>
于 2013-01-19T10:25:18.673 回答