将我的javascript放在页面源代码的末尾

时间:2014-12-09 16:07:37

标签: javascript jquery sitefinity

我正在编写一段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
});

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

任何人都可以指导我解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

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

将此script.js放在head标签的底部

答案 1 :(得分:0)

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

你想使用那个js对象吗?

如果你只是想用面包屑的html做一些事情 - 那么你应该能够按照你在文档准备就绪的方式这样做。