![](/img/trans.png)
[英]How to reload a div content without reloading the whole page after ajax call
[英]How to reload the page content with ajax dynamicly, without head reloading on Drupal?
嗨,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;
}
而且有效。 但是,当重新加载页面内容时, <head>
标记内的JavaScript代码不起作用,如果仅加载页面,它们必须如何工作。 我尝试运行假的“页面加载和窗口加载”事件,但没有任何工作希望。 我应该怎么做才能使代码完美地工作? 可能是,您知道一些模块吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.