Citation:
Envoyé par Aedonya
J'ai dû louper autre chose...
PHP ne sert pas uniquement à génerer et servir des pages HTML. En fait, avec PHP on peut renvoyer des fichiers textes (html, css, js, txt, xml...), des images (gif, png, bmp, ...), du multimedia (mp3, flv, ...), et bien d'autres (pdf, zip...).
Il suffit de spécifier le type MIME associé au format de données. Concernant les fichiers Javascript, le type MIME est text/javascript (ou application/x-javascript).
Citation:
Envoyé par Aedonya
... ça ne marche toujours pas
Probablement parce que tu as placé les balises HTML dans ton fichier JS.
N'oublie de renvoyer le texte avec les quillemets échappés, en effet si le fichier dernierebreve.php renvoie le texte...
Ce texte contient des guillemets "non échappés"
La ligne texte = "<?php include('dernierebreve.php'); ?>"; donnera :
texte="Ce texte contient des guillemets "non échappés""; // Erreur
ce qui provoquera une erreur de syntaxe Javascript.
Tandis que
texte="Ce texte contient des guillemets \"non échappés\"";
est correct.
Concernant AJAX, je te recommande la lecture des meilleurs cours et tutoriels AJAX.
Ci dessous un exemple de code adapté à ton cas...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript">//<![CDATA[
var size=150,
x=3*size,
texte,
texteDef;
function defil(){
texteDef=texteDef.substring(1,texteDef.length);
while(texteDef.length<x){
texteDef+=" "+texte;
}
document.getElementById('defilant').defilbox.value=texteDef;
setTimeout(defil,150);
}
function getXHR(){
var e;
if(window.XMLHttpRequest)
xhr=new XMLHttpRequest();
else if(window.ActiveXObject){
try{
xhr=new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
xhr=new ActiveXObject('Microsoft.XMLHTTP');
}
}else
xhr=false;
return xhr;
}
function scroll_Start(){
xhr=getXHR();
if(!xhr){
alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
return;
}
xhr.open('GET','dernierebreve.php',true);
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
if(xhr.status==200){
texte=xhr.responseText;
texteDef=texte;
defil();
}
}
};
xhr.send(null);
}
window.onload=scroll_Start;
//]]>
</script>
</head>
<body>
<form id="defilant" action="">
<p>
<a href="./breves.php">
<input type="text" id="defilbox" size="150" value="" />
</a>
</p>
</form>
</body>
</html> |