Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mam sobie aktualny adres
http://blaaa.bla/index.php?id=sruu
I chciałbym za pomocą javascript usunąć parametr. Dlaczego javascript? Bo używam jquery do ładowania podstron w div'ie ;) googlowałem ale nic nie znalazłem ;/ pozdro
Offline
https://developer.mozilla.org/en/Core_JavaScript_1. … lated_to_HTML
np. metoda match
Ostatnio edytowany przez czadman (2009-04-12 02:42:51)
Offline
Znaczy co? Chciałbyś żeby po wejściu na stronę http://blaaa.bla/index.php?id=sruu użytkownik widział zawartość podstrony sruu, ale w pasku adresu miał samo http://blaaa.bla/index.php ?
Nie rozumiem co chcesz zrobić. Powiedz jakie masz wejściowe URL i zawartość strony i jakie chcesz je mieć po modyfikacjach.
Offline
Ok napiszę dokładniej ;D od razu mówię że webmaster ze mnie żaden i może ktoś będzie miał lepszy pomysł jak zbudować to co chcę. Tworzę stronę dla moich znajomych którzy mają zespół rockowy ( www.myspace.com/carampoocho jakby ktoś był zainteresowany :) ) i moim głównym założeniem było brak przeładowania przy przechodzeniu na podstrony abo można było w tle puścić jakiegoś grajka i muza by sobie grała. Wybór padł na jquery. I tak jest sobie strona (index.php) w której są 3 div'y. Odpowiednio od tego w jaką pozycje w menu się kliknie pojawiają się i znikają odpowiednie div'y. W jednym jest treść strony powitalnej, w drugim ładują się podstrony które są umieszczane w innych plikach i są ładowane za pomocą $("#reszta").load('historia.html');, natomiast w trzecim div'ie jest galeria która bez podanego parametru id tworzy za pomocą bazy danych odnośniki do galerii. Jeżeli pojawi się parametr w adresie url np:
http://blaaa.bla/index.php?id=sruu
to otwiera się galeria sruu. Problem jest w tym że jak już wejdzie w tą galerie i chcę cofnąć się do "spisu galerii" to nie mogę ponieważ cały czas ten id=sruu jest w adresie ;/ nie umiem sobie z tym poradzić. Może macie jakiś inteligentniejszy sposób żeby bez przeładowania można było ładować podstrony z jakimś parametrem?
Załączam kod index.php
<?php ob_start(); session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <script type="text/javascript" src="images/jquery.js"></script> <script type="text/javascript" src="images/jquery.lightbox-0.5.js"></script> <script type="text/javascript"> $(document).ready( function() { $("a[rel='lightbox']").lightBox(); $("#glowna_btn").click( function() { $("#reszta").hide(); $("#glowna").show(); $("#galeria").hide(); }); $("#historia").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('historia.html'); }); $("#sklad").click( function() { $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('sklad.html'); }); $("#dyskografia").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('dyskografia.html'); }); $("#galeriabtn").click( function() { $("#reszta").hide(); $("#glowna").hide(); $("#galeria").show(); }); $("#muzyka").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('muzyka.html'); }); $("#koncerty").click( function() { $("#glowna").hide(); $("#reszta").show(); $("#galeria").hide(); $("#reszta").load('koncerty.php'); }); $("#ksiega_gosci").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('ksiega_gosci.php'); }); $("#kontakt").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('kontakt.html'); }); $("#wszystkie").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('wszystkie.php'); }); }); </script> <title>Carampoocho</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css" media="all"> @import "images/style.css"; </style> </head> <body> <div class="content"> <div class="bridge"> <div class="title"></div> </div> <div class="nav"> <ul> <li><a href="#" id="glowna_btn">Glówna</a></li> <li><a href="#" id="historia">Historia</a></li> <li><a href="#" id="sklad">Skład</a></li> <li><a href="#" id="dyskografia">Dyskografia</a></li> <li><a href="#" id="galeriabtn">Galeria</a></li> <li><a href="#" id="muzyka">Muzyka</a></li> <li><a href="#" id="koncerty">Koncerty</a></li> <li><a href="#" id="ksiega_gosci">Księga gości</a></li> <li><a href="http://www.myspace.com/carampoocho">Myspace</a></li> <li><a href="#" id="kontakt">Kontakt</a></li> </ul> </div> <div class="right"> <h2>Najbliższe koncerty:</h2><br> <?php include('panel/polacz.php'); $result = mysql_query("SELECT id,data,miejsce FROM koncerty ORDER by id ASC"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo '<img src="images/li.gif" alt="" /> '; echo $row[1].' w <b>'.$row[2].'</b></br><br>'; } echo "<br>Szczegółowe informacje na temat koncertów znajdują się w dziale Koncerty."; if(isset($_SESSION['carampoocho']) == FALSE) { $_SESSION['carampoocho'] = '1'; $zap = mysql_query("SELECT licznik FROM licznik WHERE id = 1") or die(mysql_error()); $licz1 = mysql_db_name($zap, licznik); $licz1++; mysql_query("UPDATE licznik SET licznik = '$licz1' WHERE id =1"); } $zap = mysql_query("SELECT licznik FROM licznik WHERE id = 1") or die(mysql_error()); $licz1 = mysql_db_name($zap, licznik); echo "</br</br><br><br><br>Jesteś ".$licz1." gosciem na naszej stronie"; ?> </div> <div id="glowna" class="center"> <?php include('panel/polacz.php'); $result = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 3"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo '<div class="news"><h2>'.$row[3].'</h2>'; echo $row[2].'<p class="date">'.$row[1].'</p></div></br><br>'; } ?> <br><a href="#" id="wszystkie">Pokaż wszystkie news'y</a> </div> <div class="center" id="reszta"></div> <div class="center" id="galeria" style="display: none;" > <?php include('panel/polacz.php'); $id = $_GET['id']; if($id == null) { $sql = "SELECT * FROM foldery"; $result = mysql_query($sql) or die(mysql_error()); echo '<div><h2><center>Galeria</center></h2></div><br>'; echo '<hr><br><br><br><center><table width="200" cellspacing="5" border="0"><tbody>'; $count = 0; echo '<tr height="200">'; if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_array($result)) { $folderlist[$row['id']] = $row['folder']; } foreach($folderlist as $idn) { global $count; if($count == 3) { echo '<tr height="200">'; } echo '<td><a href="index.php?id='.$idn.'"><img src="images/directory.png" border="0" /></a><br>'; echo '<center>'.$idn.'</center></td>'; $count = $count + 1; if($count == 3) { global $count; echo '</tr>'; $count = 0; } } } echo ' </tbody></table></center>'; } else { print "<script type='text/javascript'><!--\n"; echo '$("#reszta").hide(); $("#glowna").hide(); $("#galeria").show();'; print "//--></script>\n"; echo '<div><h2><center>'.$id.'</center></h2></div>'; echo '<hr><br><center><table width="200" cellspacing="5" border="0"><tbody>'; $count = 0; $sql = "SELECT nazwa FROM galeria WHERE folder = '$id'"; $result = mysql_query($sql) or die(mysql_error()); if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_array($result)) { $nazwa[$row['id']] = $row['nazwa']; foreach($nazwa as $idn) { global $count; if($count == 3) { echo '<tr height="100">'; } echo '<td><a href="galeria/'.$id.'/'.$idn.'" rel="lightbox"><img src="galeria/'.$id.'/thumb/'.$idn.'" border="0" /></a></td>'; $count = $count + 1; if($count == 3) { global $count; echo '</tr>'; $count = 0; } } } } echo ' </tbody></table><center>'; } ?> </div> </div> <div class="footer" id="footer"></div> </body> </html>
Dziękuję za pomoc ;D
Ostatnio edytowany przez giegiel (2009-04-12 15:13:26)
Offline
Chyba mod_rewrite by załatwił twój problem.
Offline
kamikaze napisał(-a):
Chyba mod_rewrite by załatwił twój problem.
No chyba właśnie nie ;/ bo wtedy bez przeładowania się nie obejdzie.
Jedyne co wymyśliłem to... generowanie stron z każdą z osobna galerią przez skrypt wrzucanie do jakiegoś wspólnego katalogu tych galerii a potem ściąganie z mysql nazw galerii i odnośniki do tych plików z galeriami. Wtedy było by dalej bez przeładowania :D
Offline
Jeżeli nie chcesz przeładowywać strony to najlepszym rozwiązaniem będzie Ajax - jQuery ma także obsługę zapytań Ajaxowych.
Możesz poszukać gotowych skryptów - są tego tony na googlach.
Offline
Zrób żeby ten odtwarzacz (bo rozumiem że masz tam aplet flashowy z ichnią muzyką) otwierał się w nowym oknie i potem zrób normalną stronę w czystym HTML. Bez cholernych zakładek z treścią ukrywaną JS, tylko z normalnymi, statycznymi stronami do których linka mogę wysłać znajomym. Jamendo tak ma i jakoś żyje.
Generalnie idea jest taka, że jak użytkownik będzie chciał, to już zadba o to by ich posłuchać i by nie przeszkadzała mu w tym głupia zmiana podstrony. Ściągnie sobie empetrójkę (właśnie — przewidujesz kilka emeptrójek do pobrania, prawda?), otworzy stronę na karcie w tle czy cokolwiek innego. A Ty aktualnie starasz mu się to utrudnić tak bardzo jak to tylko możliwe (jak kliknę na taki link „historia” środkowym przyciskiem myszy to co? Gówno.).
BTW: nie jest to wielki błąd, ale wiesz że element <style> ma arybut src, prawda?
Offline
Kurde ale ja chciałbym tak żeby było na jednej ;/ tego ajaxa nie ogarniam kompletnie. Chyba więc zrobię z tą generacją galerii ;/
Offline
@giegiel, ajax nie jest trudny, jak zrobisz sobie podstawowe funkcje to pozniej to z gorki jest, ja tez mialem problem z nim ale juz go czaje i coraz lepiej mi to idzie :)
a jesli chodzi o powroty/next;y to musisz miec napisana funkcje, nie wiem czy dobrze zrozumialem, Tobie chodzi o cos takiego?
http://aqq.intershock.pl/gallery.php
|---[EDIT]
poczytaj jeszcze to: http://forum.dug.net.pl/viewtopic.php?id=12222 i powinno Ci zaswitac co i jak ;)
jak by co to pisz :)
Ostatnio edytowany przez jezoo (2009-04-14 15:47:18)
Offline
Ok wrzuciłem ajaxa i nawet działa ale tylko trochę ;/
1. Nie działa przycisk wstecz w przeglądarce. Czy da się to w ogóle zrobić?
2. Jak załaduję już stronę do div'a za pomocą ajaxa to nie działa w niej javascript ;/ i nie mogę lightbox'a odpalic.
index.php
<?php ob_start(); session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <script type="text/javascript" src="images/jquery.js"></script> <script type="text/javascript" src="images/jquery.lightbox-0.5.js"></script> <script language="JavaScript" src="images/ajax.js"></script> <script type="text/javascript"> $(document).ready( function() { $("a[rel='lightbox']").lightBox(); $("#glowna_btn").click( function() { $("#reszta").hide(); $("#glowna").show(); $("#galeria").hide(); }); $("#historia").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('historia.html'); }); $("#sklad").click( function() { $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('sklad.html'); }); $("#dyskografia").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('dyskografia.html'); }); $("#galeriabtn").click( function() { $("#reszta").hide(); $("#glowna").hide(); $("#galeria").show(); }); $("#muzyka").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('muzyka.html'); }); $("#koncerty").click( function() { $("#glowna").hide(); $("#reszta").show(); $("#galeria").hide(); $("#reszta").load('koncerty.php'); }); $("#ksiega_gosci").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('ksiega_gosci.php'); }); $("#kontakt").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('kontakt.html'); }); $("#wszystkie").click( function() { $("#reszta").show(); $("#glowna").hide(); $("#galeria").hide(); $("#reszta").load('wszystkie.php'); }); }); </script> <title>Carampoocho</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css" media="all"> @import "images/style.css"; </style> </head> <body> <div class="content"> <div class="bridge"> <div class="title"></div> </div> <div class="nav"> <ul> <li><a href="#" id="glowna_btn">Glówna</a></li> <li><a href="#" id="historia">Historia</a></li> <li><a href="#" id="sklad">Skład</a></li> <li><a href="#" id="dyskografia">Dyskografia</a></li> <li><a href="#" id="galeriabtn">Galeria</a></li> <li><a href="#" id="muzyka">Muzyka</a></li> <li><a href="#" id="koncerty">Koncerty</a></li> <li><a href="#" id="ksiega_gosci">Księga gości</a></li> <li><a href="http://www.myspace.com/carampoocho">Myspace</a></li> <li><a href="#" id="kontakt">Kontakt</a></li> </ul> </div> <div class="right"> <h2>Najbliższe koncerty:</h2><br> <?php include('panel/polacz.php'); $result = mysql_query("SELECT id,data,miejsce FROM koncerty ORDER by id ASC"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo '<img src="images/li.gif" alt="" /> '; echo $row[1].' w <b>'.$row[2].'</b></br><br>'; } echo "<br>Szczegółowe informacje na temat koncertów znajdują się w dziale Koncerty."; if(isset($_SESSION['carampoocho']) == FALSE) { $_SESSION['carampoocho'] = '1'; $zap = mysql_query("SELECT licznik FROM licznik WHERE id = 1") or die(mysql_error()); $licz1 = mysql_db_name($zap, licznik); $licz1++; mysql_query("UPDATE licznik SET licznik = '$licz1' WHERE id =1"); } $zap = mysql_query("SELECT licznik FROM licznik WHERE id = 1") or die(mysql_error()); $licz1 = mysql_db_name($zap, licznik); echo "</br</br><br><br><br>Jesteś ".$licz1." gosciem na naszej stronie"; ?> </div> <div id="glowna" class="center"> <?php include('panel/polacz.php'); $result = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 3"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo '<div class="news"><h2>'.$row[3].'</h2>'; echo $row[2].'<p class="date">'.$row[1].'</p></div></br><br>'; } ?> <br><a href="#" id="wszystkie">Pokaż wszystkie news'y</a> </div> <div class="center" id="reszta"></div> <div class="center" id="galeria" style="display: none;" > <?php include('panel/polacz.php'); $sql = "SELECT * FROM foldery"; $result = mysql_query($sql) or die(mysql_error()); echo '<div><h2><center>Galeria</center></h2></div><br>'; echo '<hr><br><br><br><center><table width="100" cellspacing="5" border="0"><tbody>'; $count = 0; echo '<tr height="100">'; if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_array($result)) { $folderlist[$row['id']] = $row['folder']; } foreach($folderlist as $idn) { global $count; if($count == 3) { echo '<tr height="100">'; } echo '<td><center><a href="javascript:ajaxpage(\'galeria.php?id='.$idn.'\', \'galeria\');"><img src="images/directory.png"></a></center><br>'; echo '<center>'.$idn.'</center></td>'; $count = $count + 1; if($count == 3) { global $count; echo '</tr>'; $count = 0; } } } echo ' </tbody></table></center>'; ?> </div> </div> <div class="footer" id="footer"></div> </body> </html>
galeria.php
<html> <head> <script type="text/javascript" src="images/jquery.lightbox-0.5.js"></script> </head> <body> <table> <?php include('panel/polacz.php'); $id = $_GET['id']; echo '<div><h2><center>'.$id.'</center></h2></div><br>'; echo '<hr><br><br><br><center><table width="100" cellspacing="5" border="0"><tbody>'; $count = 0; $sql = "SELECT nazwa FROM galeria WHERE folder = '$id'"; $result = mysql_query($sql) or die(mysql_error()); if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_array($result)) { $sciezka[$row['id']] = $row['nazwa']; foreach($sciezka as $idn) { global $count; if($count == 4) { echo '<tr height="100">'; } echo '<td><a href="galeria/'.$id.'/'.$idn.'" rel="lightbox[roadtrip]"><img src="galeria/'.$id.'/thumb/'.$idn.'" border="0" /></a></td>'; $count = $count + 1; if($count == 3) { global $count; echo '</tr>'; $count = 0; } } } } echo ' </tbody></table><center>'; ?> </table> </body> </html>
i ajax.js odpowiedzialny za wczytywanie stron
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no) var loadedobjects="" var rootdomain="http://"+window.location.hostname function ajaxpage(url, containerid){ var page_request = false if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false page_request.onreadystatechange=function(){ loadpage(page_request, containerid) } if (bustcachevar) //if bust caching of external page var bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) } function loadpage(page_request, containerid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(containerid).innerHTML=page_request.responseText } function loadobjs(){ if (!document.getElementById) return for (i=0; i<arguments.length; i++){ var file=arguments[i] var fileref="" if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding if (file.indexOf(".js")!=-1){ //If object is a js file fileref=document.createElement('script') fileref.setAttribute("type","text/javascript"); fileref.setAttribute("src", file); } else if (file.indexOf(".css")!=-1){ //If object is a css file fileref=document.createElement("link") fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css"); fileref.setAttribute("href", file); } } if (fileref!=""){ document.getElementsByTagName("head").item(0).appendChild(fileref) loadedobjects+=file+" " //Remember this object as being already added to page } } } var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no) var loadedobjects="" var rootdomain="http://"+window.location.hostname function ajaxpage(url, containerid){ var page_request = false if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false page_request.onreadystatechange=function(){ loadpage(page_request, containerid) } if (bustcachevar) //if bust caching of external page var bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) } function loadpage(page_request, containerid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) document.getElementById(containerid).innerHTML=page_request.responseText } function loadobjs(){ if (!document.getElementById) return for (i=0; i<arguments.length; i++){ var file=arguments[i] var fileref="" if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding if (file.indexOf(".js")!=-1){ //If object is a js file fileref=document.createElement('script') fileref.setAttribute("type","text/javascript"); fileref.setAttribute("src", file); } else if (file.indexOf(".css")!=-1){ //If object is a css file fileref=document.createElement("link") fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css"); fileref.setAttribute("href", file); } } if (fileref!=""){ document.getElementsByTagName("head").item(0).appendChild(fileref) loadedobjects+=file+" " //Remember this object as being already added to page } } }
Offline
giegiel napisał(-a):
1. Nie działa przycisk wstecz w przeglądarce. Czy da się to w ogóle zrobić?
No patrz pan. Kieruje Tobą jakaś wyższa ideologia, czy po prostu chcesz zrobić na złość całemu światu?
Offline