Olá pessoa. Tenho o seguinte script que está funcionando perfeitamente, mas o problema é que gostaria de fazer a função pushState do mesmo funcionar, pois ao descometa-la o script só funciona uma vez, ou seja, só responde a uma solicitação, deixando de funcionar logo em seguida.
// AJAX para Requisicao
$(document).ready(function() {
var content = $('#content');
// Pre carregando o GIF Loading
loading = new Image(); loading.src = 'loading.gif';
$('a').live('click', function(e) {
e.preventDefault();
// Função para criar um objeto XMLHTTPRequest
function CriaRequest() {
try{
request = new XMLHttpRequest();
}catch (IEAtual){
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
}catch(IEAntigo){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}catch(falha){
request = false;
}
}
}
if (!request)
alert("Seu Navegador não suporta nosso site! Aconselhamos que atualize-o para o Google Chrome!");
else
return request;
}
// Definicao da Query String
var href = $(this).attr('href');
var url_r = href.split('/');
// Verifica se não é primaria
if(typeof url_r[2] != 'undefined' && url_r[2] != '') {
// Conteudo ou Secundaria
var url_test = url_r[2].split('-', 2);
if(typeof url_test[0] != 'undefined' && isNaN(url_test[0]) == 0 && typeof url_test[1] != '') {
// Conteudo
if(typeof url_r[3] != 'undefined' && url_r[3] != '') {var pag = url_r[3];} else {var pag = '1';}
var query_string = 'sessao='+url_r[1]+'&id='+url_test[0]+'&pag='+pag+'&pagina=conteudo';
} else {
// Secundaria
if(typeof url_r[3] != 'undefined' && url_r[3] != '') {var pag = url_r[3];} else {var pag = '1';}
var query_string = 'sessao='+url_r[1]+'&url='+url_r[2]+'&pag='+pag+'&pagina=secundaria';
}
} else {
// Primaria
var query_string = 'sessao='+url_r[1]+'&pagina=primaria';
}
//alert(query_string);
// // Declaração de Variáveis
var result = document.getElementById("conteudo");
var xmlreq = CriaRequest();
// Exibi a imagem de progresso
result.innerHTML = '<img src="loading.gif"/>';
// Iniciar uma requisição
xmlreq.open("GET", "pagina.php?" + query_string, true);
// Atribui uma função para ser executada sempre que houver uma mudança de ado
xmlreq.onreadystatechange = function() {
// Verifica se foi concluído com sucesso e a conexão fechada (readyState=4)
if (xmlreq.readyState == 4) {
// Verifica se o arquivo foi encontrado com sucesso
if(xmlreq.status == 200) {
// Exibe conteúdo
result.innerHTML = xmlreq.responseText;
// Altera informacoes da página
var title = document.getElementById("title").innerHTML;
// window.history.pushState(href, title, href); <<<<<<<<<<<<<<<<<<<< AQUI >>>>>>>>>>>>>>>>>>
document.title = title;
} else {
result.innerHTML = "Erro: " + xmlreq.statusText;
}
}
};
xmlreq.send(null);
});
});
E se não for pedir muito, gostaria de saber se é possível implementar a função onpopstate e como.
Pergunta
PanicoLima
Olá pessoa. Tenho o seguinte script que está funcionando perfeitamente, mas o problema é que gostaria de fazer a função pushState do mesmo funcionar, pois ao descometa-la o script só funciona uma vez, ou seja, só responde a uma solicitação, deixando de funcionar logo em seguida.
E se não for pedir muito, gostaria de saber se é possível implementar a função onpopstate e como.
Obrigado.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.