【问题标题】:Place my javascript at the end of the source code for the page将我的 javascript 放在页面源代码的末尾
【发布时间】:2014-12-09 16:07:37
【问题描述】:

我正在编写一段 javascript 来修改页面上的面包屑,整个页面加载后,Sitefinity 通过脚本动态加载面包屑。加载面包屑的脚本见下文

<script type="text/javascript">
//<![CDATA[
;(function() {
                        function loadHandler() {
                            var hf = $get('ctl05_TSSM');
                            if (!hf._RSSM_init) { hf._RSSM_init = true; hf.value = ''; }
                            hf.value += ';Telerik.Sitefinity.Resources, Version=7.1.5200.0, Culture=neutral, PublicKeyToken=b28c218413bdf563:en:e8482271-e037-4f4c-9782-d3ef83d41650:7a90d6a;Telerik.Web.UI, Version=2014.2.618.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en:75278af3-5298-4076-a167-6de45b7d14f0:580b2269:eb8d8a8e';
                            Sys.Application.remove_load(loadHandler);
                        };
                        Sys.Application.add_load(loadHandler);
                    })();Sys.Application.add_init(function() {
    $create(Telerik.Web.UI.RadSiteMap, null, null, null, $get("ctl00_cph_header_T1D6EFA53006_ctl00_ctl00_Breadcrumb"));
});
//]]>
</script>
</form>

</body>
</html>

如您所见,将面包屑放在页面上的脚本就在页面源代码的末尾,就在结束 body 标记之前。

我需要能够修改面包屑,所以我编写了自己的小脚本。我遇到的问题是,无论我将小脚本放在页面的哪个位置,当页面加载时,我的脚本始终位于加载面包屑的脚本之上。因此,尝试从我的代码中访问面包屑中的元素会返回 UNDEFINED。

我试过了:

$(document).ready(function(){
   //my code
});

window.load(function(){
   //my code
});

window.bind("load",function(){
   //my code
});

这些似乎都没有在页面上的现有脚本(面包屑加载)之后放置/执行我的脚本。

谁能指导我解决这个问题?

【问题讨论】:

  • 可能会影响脚本的 Sitefinity。
  • 猜测:Sys.Application.add_init(callback) 是异步的。尝试将您的代码添加到回调中。

标签: javascript jquery sitefinity


【解决方案1】:

创建一个名为 scripts.js 的 js 文件,然后在其中插入您的自定义脚本。

$(document).ready(function(){
   //my code
});

并将这个 script.js 放在 head 标签的底部

【讨论】:

    【解决方案2】:

    您看到的 $create 脚本实际上并没有加载面包屑 - 它只是初始化 Telerik 的站点地图 javascript 对象。

    你想使用那个 js 对象吗?

    如果你只是想用面包屑的 html 做一些事情——那么你应该能够用你在准备好文档时做的方式来做。

    【讨论】:

      猜你喜欢
      • 2016-07-18
      • 2015-03-24
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多