嗨 Drupal Web 开发人员!我有一个问题,必须解决,但我从未使用过 ajax 页面重新加载。无法重新加载页头和一些 div 块(我给了它们iscritical="true"
和criticalid="someidword"
标签)。所以,我写了这段 JavaScript 代码:
$(document).ready(function(){
$('a').click(function(){
var href_ = ($.trim($(this).attr('href'))).toLowerCase();
var href = $(this).attr('href');
if((href.substr(0, 1) != '#') && (href.substr(0, 11) != 'javascript:')){
IG_AJAX_PAGELOAD(href);
return false;
}
});
});
function IG_AJAX_PAGELOAD(href){
$.get(href, function(res){
if((strpos(res.toLowerCase(), '<body>', 0) == false) || (strpos(res.toLowerCase(), '</body>', 0) == false))
return false;
var critical_block_html_array = new Array();
$('div[iscritical="true"]').each(function(){
critical_block_html_array[$(this).attr('criticalid')] = $(this).html();
});
console.log(document.ready);
document.body.innerHTML = res.substr(strpos(res.toLowerCase(), '<body>', 0) + 7, (strpos(res.toLowerCase(), '</body>', 0) - 1 - (strpos(res.toLowerCase(), '<body>', 0) + 7)));
for(var cur in critical_block_html_array){
if($('div[criticalid="'+cur+'"]').length < 1) continue;
$('div[criticalid="'+cur+'"]').html(critical_block_html_array[cur]);
}
$(document).ready();
$(window).load();
console.log('page loaded successfully');
});
return false;
}
它有效。但是,当页面内容重新加载时,标签内的 JavaScript 代码<head>
将无法工作,如果页面刚刚加载,它们必须如何工作。我尝试运行虚假的“页面加载和窗口加载”事件,但没有任何效果。我应该怎么做这个代码才能完美工作?可能是,你知道一些模块吗?