Avaleht
uus teema   vasta Tarkvara »  WWW »  Lehel oleva DIV'i uuendamine uue sisu tekkimisel märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
raxz
HV Guru

liitunud: 27.07.2003




sõnum 12.11.2010 03:22:22 Lehel oleva DIV'i uuendamine uue sisu tekkimisel vasta tsitaadiga

Tere.
Mure selline, et teen ühte veebilehte, mille sisu peaks uuenema siis, kui midagi uut andmebaasi lisatakse.
AJAX peaks olema kasutatavaks tehnoloogiaks, aga minu kood ei taha töötada muudes brauserites peale Safari ja Androidi brauseri.
JS failis selline kood:
function checkNew() {
new Ajax.PeriodicalUpdater('div_id', 'fail_mida_uuendada.php', {
      method: 'post',
      frequency: 15,
      decay: 1
});
}

See kood vist uuendab iga 15 sekundi tagant ühte konteinerit (div_id)? See ongi AJAXi mõte, et uuendada mingit osa lehest ette antud aja tagant?
fail_mida_uuendada.php annab konteineri div_id sisu ja Safariga uuendab ka 15 sekundi tagant. Aga kuidas teistes brauserites tööle saada?

Sai kuradi segane tekst, aga tahaks kuidagi tööle saada...
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 12.11.2010 12:33:55 vasta tsitaadiga

Milles täpsemalt väljendub mittetöötamine? Ilma seda teadmata on raske aidata.
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 12.11.2010 12:37:35 vasta tsitaadiga

IE, Chrome, Firefox näitavad täiesti tühja lehte. Lisaks selle muutuva sisu näitamisele ei näita ka tavalist HTMLi. View Source näitab ilusti kõike. Kui see JS fail, kus see ajaxi funktsioon on, välja kommenteerida, näitab lehte ka teistes brauserites.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 12.11.2010 12:47:52 vasta tsitaadiga

Raatsid äkki kogu lehe HTML ja JS sortsu siia panna. See JS jupike, mis enne postitasid, tundub iseenesest täiesti korrektne olevat - täpselt Prototype'i näidete järgi.

Võid vaadata näiteks ka ise Firebug'iga Firefox'i või Chrome Javascript console kaudu, et ega mingeid JS vigasid kuhugi ei jookse, mis võiksid millelegi vihjata.

_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 12.11.2010 19:11:45 vasta tsitaadiga

main.php:

<? include('connect.php');?>
<!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" />
<link rel="stylesheet" href="css/template.css" type="text/css" media="screen, tv" />
<script type="text/javascript" src="js/togglestatus.js" />
<script type="text/javascript" src="js/checknew.js" />
<script type="text/javascript" src="js/prototype.js" />

<title>SMS</title>
</head>

<body onLoad="checkNew();">   
<div id="header">Tekst</div>
   
<div id="sisu"></div>
   
<div id="info">Tekst</div>
</body>
</html>


checknew.js:

function checkNew() {
   new Ajax.PeriodicalUpdater('sisu', 'checknew.php', {
      method: 'post',
      frequency: 15,
      decay: 1
   });
}
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
wk
HV vaatleja

liitunud: 22.05.2007




sõnum 13.11.2010 15:30:33 vasta tsitaadiga

Kui seda checknew.php-d eraldi küsid, kas see midagi vastab ka?
_________________
Kõike hääd,
WK
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 13.11.2010 17:53:56 vasta tsitaadiga

See vastab tabeli. Sisu on lihtne tekst. Natuke rohkem lahtreid ainult. 5 veergu.

<table><tr><td>Kellaaeg</td><td>Tekst</td><td>Tekst</td><tr/></table>
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 13.11.2010 19:12:01 vasta tsitaadiga

tsitaat:
kood ei taha töötada muudes brauserites peale Safari ja Androidi brauseri.

Siit järeldub, et viga ikkagi Ajax koodis mitte php failis. PHP tuleb serverist ja vahet pole millise browseri sisse.

Sellise koodiga mul toimib kenasti, proovi. Kui hakkab tööle, siis asenda oma kood jup jupilt, kuni näed, mis siis ikkagi ei toimi.

<script>
function checkNew() {
   new Ajax.PeriodicalUpdater('sisu', 'AjaxUpS.php', {
      method: 'post',
      frequency: 2,
      decay: 1
   });
}

</script>

<script type="text/javascript" src="js/prototype.js"></script>
</head>
<body  onLoad="checkNew();">
<div id="sisu"></div>


AjaxUpS.php

<?php
$rando = rand();
echo 'Tere'.$rando;
?>

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Lehel oleva DIV'i uuendamine uue sisu tekkimisel
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.