【发布时间】: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