Eli miten saisin javascriptillä ladattua sivun vain ja ainoastaan kerran?
Oon löytäny vaan ajaxille jotain joka latailee sit sitä sivua minkä oon määrittäny siihen.
Tässä se koodi mitä tällä hetkellä käytän:
<script language="javascript" type="text/javascript"> function ajaxFunction(){ var ajaxRequest; try{ ajaxRequest = new XMLHttpRequest(); } catch (e){ try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("Selaimesi ei tue ajaxia!?"); return false; } } } ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4){ document.getElementById('ajax').innerHTML = ajaxRequest.responseText; } } ajaxRequest.open("GET", "index.php", true); ajaxRequest.send(null); } </script>
Ja tähän div joka sitten näyttää tuon ajaxin lataaman sisällön.
<div id="ajax"><\/div>
Mutta haluisin, että se vaan latais kerran sen sisällön. Eli hakis vaan php sivun jä näyttäis sen.
No mutta tuohan lataa sen kerran. Mitä oikein tarkoitat?
Aijaa vai? Eipäs näytä ollenkaan pelkkä tuo. Puuttu vielä koodi pätkä.
<script language=javascript> var int=self.setInterval("ajaxFunction()",1000) </script>
Eli lähinnä kaipaan sitä, että miten saan javascriptillä incluedettua php tiedoston?
Miksi setInterval eikä setTimeout? Voit ihan itseäsi syyttää, kun se lataa sitä sekunnin välein, kun kerran itse niin käsket.
no setTimeout ei lataa koko hommelia :o
EDIT . no nyt latas :o mutta ei aina
EDIT2: kun vaihdoin tuoksi setTimeout niin se lataa sen aina välillä, ei aina. :S
No laitapa se window.onload-tapahtumaan ja pitkä skripti tietenkin head-osioon. Jos vaikka sivusi ei ehdi latautua kokonaan.
Metabolix kirjoitti:
No laitapa se window.onload-tapahtumaan.
Haluisitko vähän selventää?
EDIT: Näin?
<script language=javascript> var int=self.setTimeout('window.onload("popupbox()")',1000); </script>
Mutta ei toimi vieläkään. :/
Ei. Valitse näistä:
window.onload = popupbox;
<body onload="popupbox()">
JavaScript-opas voisi olla hyödyllistä luettavaa (muutenkin kuin linkiteltyltä kohdalta).
Eipä toimi kumpikaan. Ainut miten saan ton toimimaan niin on :
<script language=javascript> var int=self.setInterval("ajaxFunction()",1000) </script>
mutta sillon se päivittää sitä koko ajan :/
Jaahas jaahas.
EDIT: Eli se toimiikin, mutta vain sillon kun on toi sivu pelkästään valittuna. Hmm.
EDIT2: Tässä sitten koko koodi...
<script language="javascript" type="text/javascript"> function popupbox(){ var httpt; try{ httpt = new XMLHttpRequest(); } catch (e){ try{ httpt = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ httpt = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){ alert("Selaimesi ei tue ajaxia!?"); return false; } } } httpt.onreadystatechange = function(){ if(httpt.readyState == 4){ document.getElementById('boxi').innerHTML = httpt.responseText; } } httpt.open("GET", "index.php", true); httpt.send(null); } </script> <script language="javascript" type="text/javascript"> function $(v) { return(document.getElementById(v)); } function $S(v) { return($(v).style); } function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); } function isset(v) { return((typeof(v)=='undefined' || v.length==0)?false:true); } function XYwin(v) { var z=agent('msie')?Array(document.body.clientHeight,document.body.clientWidth):Array(window.innerHeight,window.innerWidth); return(isset(v)?z[v]:z); } function tog() { document.onclick=function(){ $S('bg').display='none'; $S('box').display='none'; document.onclick=function(){}; };} function box(v,b) { setTimeout("tog()",100); $S('bg').height=XYwin(0)+'px'; $S('bg').display='block'; $('box').innerHTML=v+'<div class="div"><div class="sisa" id="boxi"><?php if(!$ladattu) echo "<center><img src=\"load.gif\"><br>Ladataan...</center>"; ?><\/div><\/div>'; $S('box').left=Math.round((XYwin(1)-b)/2)+'px'; $S('box').width=b+'px'; $S('box').display='block'; } </script> <script language=javascript> var int=self.setInterval("popupbox()",1000) </script>
$('box').innerHTML=v+'<div class="div"><div class="sisa" id="boxi"><?php if(!$ladattu) echo "<center><img src=\"load.gif\"><br>Ladataan...</center>"; ?><\/div><\/div>';
Onko tohon jotain miten saisi incluedettua php tiedoston? ei ainakaan toiminu suoraan
<?php include("jeeee.php"); ?>
enkä netistä löytäny mitään miten sen saisin?
En jaksa selata tuota koodiasi, mutta periaate on yksinkertainen:
<script type="text/javascript"> // joo.php <?php include("testi.php");?> </script>
<?php // testi.php echo 'document.write("Testi")'; ?>
Eli php:lla teet ensin jotain, mihin javascript ei pysty. Sitten kirjoitat php:lla stringinä javascript-koodia sekä php-muuttujissa olevaa tietoa, jonka tulostat sivulle ja liität tulostukseen.
Jos hyvältä näyttää, voit php:lla tulostaa pelkkiä javascript muuttujien nimiä, joissa kerätty tieto on tai javascript-arrayn. Vaihtoehtoja on todella runsaasti.
joo no antaapi olla, sain sen jotenki nyt.
Aihe on jo aika vanha, joten et voi enää vastata siihen.