ugrás a tartalomhoz

ajax frissítés és youtube videó

kriszrap · 2011. Júl. 12. (K), 00.18
Sziasztok!!
Van nekem egy ajax frissítésem ami 5 másodpercenkén beszúrja az új üzeneteket.
Igen beszúrom a videót ilyen formába:

<object width="425" height="344">
	<param name="movie" value=""></param>
	<param name="allowFullScreen" value="true"></param>
	<param name="allowscriptaccess" value="always"></param>
	<embed src=""
	       type="application/x-shockwave-flash"
	       allowscriptaccess="always"
	       allowfullscreen="true"
	       width="425"
	       height="344"></embed>
</object>
csak az a baj hogy ha frissít az ajax akkor a videót is frissíti.
 
1

Beszúrod?

Poetro · 2011. Júl. 12. (K), 00.30
Én eddig úgy vettem ki, hogy felülírod az eddigi üzeneteket, mivel a .innerHTML-t használod. Beszúráshoz használd az insertBefore, illetve appendChild függvényeket.
2

Deja Vu?

Totti 1986 · 2011. Júl. 12. (K), 00.41
http://weblabor.hu/forumok/temak/109158#comment-77781

Oké, azt értem, hogy a téma átment másik irányba, de miért kell új topic, ahelyett, hogy megcsinálná azt, amit már korábban is tanácsoltál neki?
3

meg csináltam de nem jó!!

kriszrap · 2011. Júl. 12. (K), 00.57
meg csináltam de nem jó!! mert kijelölöm a szöveget és 5 másodperc után már nem lesz kijelölve:( vagy én szúrhattam el valamit?

<div id="chatBox">
<?php
$query = mysql_query("SELECT * FROM chat ORDER by id DESC");//LIMIT 0 , 30
while($a=mysql_fetch_assoc($query)){
include "chat_datum.php";
include "chat_smiley_megjelenites.php";
echo'
#'.$a['id'].' Név: <a class="b" href="profil.php?id='.htmlspecialchars(urlencode($a['idje'])).'">'.$a['name'].'</a> ||Mikor: '.$datum.'<br>||Üzenet: '.iconv("UTF-8", "ISO-8859-2", urldecode($message)).'||<br><br>';
}
?>
</div>
  

<script language="javascript">  
    newElement = document.createElement('p');  
    newElement.setAttribute('style','background:yellow');  
    newElement.innerHTML = 'a szöveg vagy videó';  
    document.getElementById('chatBox').appendChild(newElement);  
</script>  
4

Nem látszik

Poetro · 2011. Júl. 12. (K), 01.19
Ebből nem látszik semmi az AJAX kérésből. Gondolom ez a válasz, de nem látom a kérést, és hogy az hogyan dolgozza fel a választ.
5

erre gondolsz?? function

kriszrap · 2011. Júl. 12. (K), 12.56
erre gondolsz??

function chat_ellenorzes()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("chatBox").innerHTML=xmlhttp.responseText+document.getElementById("chatBox").innerHTML; 
    }
  }
xmlhttp.open("GET","chat_frisites.php",true);
xmlhttp.send(null);
}
setInterval('chat_ellenorzes()', 5000);
chat_frisites.php


$time = $_GET["time"] ? $_GET["time"] : time() - 5;
      
$result = mysql_query(sprintf ("SELECT * FROM chat WHERE name !='$nick' AND time > '%d'", mysql_real_escape_string($time))); 
     
$record = mysql_fetch_assoc ($result);
        
if ($record)// ha van adat
   {
$query = mysql_query(sprintf ("SELECT * FROM chat WHERE name !='$nick' AND time > '%d'", mysql_real_escape_string($time)));
while($a=mysql_fetch_assoc($query)){

include "chat_datum.php";
include "chat_smiley_megjelenites.php";
$nev = "Név:";
$uzenet = "Üzenet:";

echo'
#'.$a['id'].' '.iconv("ISO-8859-2", "ISO-8859-2",$nev).' <a class="b" href="profil.php?id='.htmlspecialchars(urlencode($a['idje'])).'">'.$a['name'].'</a> ||Mikor: '.iconv("ISO-8859-2", "ISO-8859-2", $datum).'<br>||'.iconv("ISO-8859-2", "ISO-8859-2",$uzenet).' '.iconv("UTF-8", "ISO-8859-2",$message).'||<br><br>';
}
}
6

innerHTML

Poetro · 2011. Júl. 12. (K), 13.15
A probléma az, hogy még mindig innerHTML-t használsz. Lásd a 17. sorban.
7

az helyet mit használjak??:)

kriszrap · 2011. Júl. 12. (K), 13.33
az helyet mit használjak??:)
8

Lásd korábban.

Poetro · 2011. Júl. 12. (K), 16.29
9

az a két parancs a beszurást

kriszrap · 2011. Júl. 14. (Cs), 12.09
az a két parancs a beszurást szolgálja ?? Miben külömbözik az innerhtml-töl??
10

beszúrás

Poetro · 2011. Júl. 14. (Cs), 12.34
Abban, hogy az innerHTML felülírja a DOM fát, míg a fenti függvények hozzáadnak.
15

OMG

Blintux · 2011. Júl. 14. (Cs), 13.05
Jól látom, hogy ciklusban vannak az includeok? :O
Tényleg valahol alapszinten el kellene kezdened ezt tanulni.
Lehet, hogy idővel működni fog amit összehozol az itteniek segítségével, de hogy ezer sebből vérzik az is biztos.
11

Többször olvastam már olyat,

H.Z. v2 · 2011. Júl. 14. (Cs), 12.39
Többször olvastam már olyat, hogy az innerHTML-t célszerű hanyagolni.
Jelen esetben tökéletesen érthető, de úgy általánosságban is igaz vagy valamin átsiklottam "tanulmányaim" során?
Tegnap este elkezdtem játszani egy olyan feladvánnyal, hogy egy ablakba (elsőre iframe-re gondoltam) kirakok egy listát az adatbázisom tábláiról. Ha a felhasználó valamelyik táblanévre kattint, akkor némi ajaxos segítséggel, megjelenítem a tábla struktúráját egy másik "ablakban". (másik iframe v. inkább egy div)
Ilyenkor használható az iframe vagy erre is van jobb módszer?
12

és az a két parancs miben

kriszrap · 2011. Júl. 14. (Cs), 12.45
és az a két parancs miben különbözik??:D
14

olvasd el

Poetro · 2011. Júl. 14. (Cs), 12.48
olvasd el
13

sebesség

Poetro · 2011. Júl. 14. (Cs), 12.48
Sebességben tud gyorsabb lenni az innerHTML, főleg régi MS böngészőkben. De például ha jól emlékeszem, akkor a legújabb Safari-kban már a DOM építgetés (createDocumentFragment) már gyorsabb, mint az innerHTML. Másik nagy hátránya az innerHTML-nek, hogy a benne levő elemek elvesztik ugye az összes rájuk kapcsolt eseménykezelőt stb. Ezért amennyiben nem csak az a cél, hogy bedobjunk valahova egy nagy darab HTML-t (pl. frissítünk egy oldal darabkát) akkor érdemes kerülni a használatát.
16

Köszi (most olvastam újra,

H.Z. v2 · 2011. Júl. 14. (Cs), 13.09
Köszi (most olvastam újra, mit követtem el: néhány helyen az innerHTML helyett is iframe-et sikerült írni, de azért megértetted! :-) )
17

blintux mire gondolsz hogy

kriszrap · 2011. Júl. 14. (Cs), 13.41
blintux
mire gondolsz hogy sok helyről vérzik??
ha elmondod legalább tudom javítani és megtanulom.
megjegyzés : még kezdő programozó vagyok és azért vagyok ezen a honlapon hogy tanuljak a hibáimból.
18

Ami biztos: include/request

H.Z. v2 · 2011. Júl. 14. (Cs), 13.43
Ami biztos: include/request nagyon nincs jó helyen egy ciklus belsejében...
Hogy egyébként mire gondolt, pláne, hogy miért rám hivatkozva kérdezed...
19

mert nem tom ki a nagyobb

kriszrap · 2011. Júl. 14. (Cs), 15.28
mert nem tom ki a nagyobb rangú felhasználó ki a vendék és kiért hozzá.:)

szerk.:
insertBefore,appendChild mi a külömbség melyiket érdemes használni??:)
20

olvasd el

Poetro · 2011. Júl. 14. (Cs), 17.16
Mindkettőt érdemes használni, de kicsit máshogy működnek. Legjobb, ha elolvasod melyik hogyan működik.
21

valameddig

kriszrap · 2011. Júl. 15. (P), 15.29
valameddig eljutottam.

function chat_kuldes()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById('message').value='';

    var _text = document.createTextNode(xmlhttp.responseText);
    document.getElementById("chatBox").appendChild(_text);
    }
  }
xmlhttp.open("POST","chat_kuldes.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("message="+message.value);
}

az a hiba hogy a html kódót szúrja be a divbe és ha frissítek akkor lesz jó.
hogy lehet ki küszöbölni??
Meg még annyi hogy a div tetejére szeretném hogy szúrja.
szerk.:
olvastam hogy az ie nem nagyon szereti appendChild et .igaz??
22

az a hiba hogy a html kódót

kuka · 2011. Júl. 16. (Szo), 11.37
az a hiba hogy a html kódót szúrja be a divbe és ha frissítek akkor lesz jó.
Ez így helyes. A TextNode tartalma mindig sima szöveg.

var _text = document.createElement('span') // vagy span helyett div, ha block elem kell
_text.innerHTML = xmlhttp.responseText
Meg még annyi hogy a div tetejére szeretném hogy szúrja.
Itt jött volna jól, ha utánanéztél volna az insertBefore() / appendChild() különbségnek.

var box = document.getElementById("chatBox")
box.insertBefore(_text, box.firstChild)
olvastam hogy az ie nem nagyon szereti appendChild et .igaz??
Ilyenről nem hallottam. Szerintem vagy az író vagy az olvasó valamit félreértett. Ha közölsz részleteket arról, hogy hol olvastad, utánanézhetünk.
23

fúú már sajna nem tom melyik

kriszrap · 2011. Júl. 16. (Szo), 12.31
fúú már sajna nem tom melyik honlapon volt:(
De amúgy működik :)