0

我设置了一个 JqueryMobile 应用程序,该应用程序根据我的脚本提取的一些 JSON 数据动态创建页面。所有这些页面或内联并拉起罚款。但是,我需要在这些页面中包含一些 JS,但是我写的任何内容在主页之后都会被忽略。例如,我有一个简单的功能,当点击一个带有“视频”ID 的链接时,它会显示一条警报消息。在我的主页上,这很好用,但在任何子页面上都没有。如何让我的脚本出现在所有页面上?谢谢您的帮助!

4

2 回答 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 回答