我正在编写一段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
});
这些似乎都不会在页面上的现有脚本(面包屑加载)之后放置/执行我的脚本。
任何人都可以指导我解决这个问题?
答案 0 :(得分:0)
创建一个名为scripts.js的js文件,然后在此处插入您自定义的脚本。
$(document).ready(function(){
//my code
});
将此script.js放在head标签的底部
答案 1 :(得分:0)
您看到的$ create脚本实际上没有加载面包屑 - 它只是初始化Telerik的站点地图javascript对象。
你想使用那个js对象吗?
如果你只是想用面包屑的html做一些事情 - 那么你应该能够按照你在文档准备就绪的方式这样做。