Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 11. 4. 2013, 16:07:33
Dobrý den. Rád bych udělal u iframu aby když se mi načte tak aby se mi zobrazil s posuvníkem dole.. Bohužel se tomu tak neděje.. Neví někdo proč? Předem děkuji za každou odpověď
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js"></script> <!-- chat --> <iframe id="frame" src="./plugins/php/chat_frame.php"" width="79%" height="93%" frameborder="0" noresize></iframe> <script> $(window).load(function () { var $contents = $('#frame').contents(); $contents.scrollTop($contents.height()); }); </script> |
||
Chamurappi Profil |
#2 · Zasláno: 11. 4. 2013, 16:24:29
Reaguji na Fisaka:
Protože ta stránka uvnitř ještě není načtená? |
||
Fisak Profil |
#3 · Zasláno: 11. 4. 2013, 16:52:41
Chamurappi:
jj je.. možná bude problém že tam je ajax který aktualizuje stránku každou vteřinu.. |
||
Fisak Profil |
#4 · Zasláno: 11. 4. 2013, 19:28:01
toto je ten script kterej to načítá..
<script> Casovac(); function NewHodnota() { hodnota = document.getElementById('hodnota'); if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest(); else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { hodnota.innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", "./../../?page=chat_frame", true); xmlhttp.send(); Casovac(); } function Casovac() { setTimeout("NewHodnota()", 1000); } </script> <span id='hodnota'><center><img src="./../../images/chat/load.gif" title="načítání" width="85px"/><br>Načítání...</center></span> |
||
Chamurappi Profil |
#5 · Zasláno: 11. 4. 2013, 19:30:07
Reaguji na Fisaka:
Proč nenastavuješ scrollTop v okamžiku, kdy přiřadíš do innerHTML nový obsah?
|
||
Fisak Profil |
#6 · Zasláno: 11. 4. 2013, 20:05:44
Chamurappi:
a jak by to tedy mělo vypadat ?? |
||
Chamurappi Profil |
#7 · Zasláno: 12. 4. 2013, 00:02:06
Reaguji na Fisaka:
Jestli je to posuvník celé stránky, tak stačí zavolat třeba scrollBy(0, 100000) . Za nastavením hodnota.innerHTML .
|
||
Fisak Profil |
#8 · Zasláno: 12. 4. 2013, 00:06:12
Chamurappi:
ano to funguje děkuji moc ale posouvám mi to jednou za vteřinu tzn. neni to pro chat moc dobré řešení pokud si chci přečíst např historii.. dalo by se to udělat jinak? |
||
Chamurappi Profil |
#9 · Zasláno: 12. 4. 2013, 00:45:17
Reaguji na Fisaka:
Běží-li stránka uvnitř rámu ve standardním režimu, tak by optimální řešení vypadalo asi nějak takhle: var root = document.documentElement; var automatika = true; window.onscroll = function() { automatika = root.scrollTop + root.clientHeight == root.scrollHeight; }; automatika na true nebo false podle toho, jestli uživatel dojel na konec stránky. Pak ti stačí rolovat podmíněně:
if(automatika) scrollBy(0, 100000); |
||
Fisak Profil |
#10 · Zasláno: 12. 4. 2013, 01:18:14
Chamurappi:
Děkuji funguje to.. Jen by mě zajímalo jak udělat to aby když tam přijde nový příspěvek tak aby se to znova šouplo dolu.. možná to pujde nějakou podmínkou... viz. http://testchat.czechom.cz/?page=login nick: Jakpsatweb pass: 123456 |
||
Chamurappi Profil |
#11 · Zasláno: 12. 4. 2013, 10:47:26
Reaguji na Fisaka:
„jak udělat to aby když tam přijde nový příspěvek tak aby se to znova šouplo dolu“ To je přeci nepříjemné, když si třeba chceš přečíst historii, ne? Původně jsem ti chtěl dát v [#9] řešení, které zjistí jen změnu (ono není zase tak těžké ho vymyslet, určitě bys na to přišel sám) a nestará se vůbec o pozici posuvníku a o uživatelovu činnost, ale tohle mi přijde lepší. Vymysli raději jiný způsob, jak dát uživateli najevo, že se dole něco děje, než že mu škubneš obrazem. |
||
Fisak Profil |
#12 · Zasláno: 12. 4. 2013, 11:15:58
Chamurappi:
No tak co podmínka že pokud jsem uplně dole s posuvníkem tak se to stále bude držet dole.. protože teď je to tak že pokud přispěji nový vzkaz tak musim rolovat dolu abych si ho přečetl a to můžu být uplně dole ... A co řikáte na řešení iframy ? nebylo by lepší to dělat divy ? |
||
Chamurappi Profil |
#13 · Zasláno: 12. 4. 2013, 12:51:01
Reaguji na Fisaka:
„co podmínka že pokud jsem uplně dole s posuvníkem tak se to stále bude držet dole“ Teď by to teď mělo být, ne? Proč máš ten chat jen přes část obrazovky? Stránka uvnitř rámu ti neběží ve standardním režimu, takže můj skript nemusí správně fungovat ve všech prohlížečích. „nebylo by lepší to dělat divy ?“ Asi bylo. Nemá moc smysl používat <iframe> , když v něm stejně taháš data AJAXem.
|
||
Fisak Profil |
#14 · Zasláno: 12. 4. 2013, 13:00:50
Chamurappi:
No všiml jsem si toho taky že v chromu mi to běží normálně ale v exploreru a mozile to mám nějaké "zmutované". Zkusím to předělat do divů ... A máte ještě nějaké rady a doporučení ohledně tohoto chatu? Nebo není nějaký článek co by správný chat měl obsahovat? |
||
Časová prodleva: 13 let
|
0