Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Hacer funcionar los botones del navegador en una pagina echa en ajax

Estas en el tema de Hacer funcionar los botones del navegador en una pagina echa en ajax en el foro de Frameworks JS en Foros del Web. Bueno aquí les presento un código en el que e estado trabajando yo para hacer funcionar los botones del navegador sin usar librerías es algo ...
  #1 (permalink)  
Antiguo 22/09/2011, 12:58
 
Fecha de Ingreso: septiembre-2011
Ubicación: Culiacan, Sinaloa, Mexico
Mensajes: 10
Antigüedad: 13 años, 2 meses
Puntos: 1
Hacer funcionar los botones del navegador en una pagina echa en ajax

Bueno aquí les presento un código en el que e estado trabajando yo para hacer funcionar los botones del navegador sin usar librerías es algo simple pero en fin, El único problema que e tenido hasta el momento es que en el navegador de opera tienes que dar dos click al botón de atrás para que funcione la pagina pero en IE, fire fox , zafari y crome funciona bien

bueno este es el código:

index.php
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>prueba ajax</title>
<link href="css.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">
var obj="0";
var pag="0";
function ObjetoAjax()
{
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function Buscar(x)
{
var ajax = ObjetoAjax();

var div = document.getElementById('contenido');

div.innerHTML ='<div class="loading"><img src="loading.gif" /></div>';

ajax.open("POST", "ajax.php", true);

ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
div.innerHTML = ajax.responseText;
}
}

switch(x)
{
case "pagina1": obj="1"; window.location.hash="#P-1"; break;
case "inicio": obj=location.hash.split('-')[1]; break;
case "pagina2": obj="2"; window.location.hash="#P-2"; break;
case "pagina3": obj="3"; window.location.hash="#P-3"; break;
}


ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("sec=" + x );

}
function pag1()
{
Buscar("pagina1");
}
function pag2()
{
Buscar("pagina2");
}
function pag3()
{
Buscar("pagina3");
}
function rarr()
{
setInterval("rar();",1);

}
function rar()
{

pag = location.hash.split('-')[1];
if(obj != pag)
{

switch(pag)
{
case "1": Buscar("pagina1"); break;
case "2": Buscar("pagina2"); break;
case "3": Buscar("pagina3"); break;
default : Buscar("inicio"); break;
}
}
}
</script>
</head>

<body onload="rarr();">
<div class="menu">
<a class="btn" onclick="pag1();" >pagina1</a>
<a class="btn" onclick="pag2();" >pagina2</a>
<a class="btn" onclick="pag3();" >pagina3</a>
</div>
<div id="contenido" class="content">
</div>
</body>
</html>
ajax.php
Cita:
<?php
if(isset($_POST["sec"]))
{
$sec=$_POST["sec"];

switch($sec){

case "inicio": include("inicio.php"); break;

case "pagina1": include("pagina1.php"); break;

case "pagina2": include("pagina2.php"); break;

case "pagina3": include("pagina3.php"); break;


}
}

?>
Bueno se aceptan criticas y comentarios y si me pueden ayudar con el problema de opera se les agradecería XD
bueno aquí esta un link donde tengo hospedado el ejemplo:[URL="http://danielrivas.webcindario.com/"]http://danielrivas.webcindario.com/[/URL]
  #2 (permalink)  
Antiguo 22/09/2011, 13:01
 
Fecha de Ingreso: septiembre-2011
Ubicación: Culiacan, Sinaloa, Mexico
Mensajes: 10
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Hacer funcionar los botones del navegador en una pagina echa en ajax

[URL="http://danielrivas.webcindario.com/"]http://danielrivas.webcindario.com/[/URL]
disculpar lo del link XD

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.