Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


O metoda de rezolvare a problemei bookmarking-ului in AJAX

html



+ Font mai mare | - Font mai mic



O metoda de rezolvare a problemei bookmarking-ului in AJAX

Una din problemele determinate de utilizarea tehnicii AJAX consta in compromiterea bookmarking-ului. Explicatia pentru aparitia acestei probleme consta in faptul ca URL-ul afisat in caseta de adrese a browserului reflecta starea paginii din momentul in care aceasta afost incarcata de pe server, si nu schimbarile survenite ulterior in continutul acesteia ca rezultat al interactiunii AJAX. Exista totusi posibilitatea de a modifica in mod explicit URL-ul paginii in urma fiecarui apel AJAX, utilizand proprietatea hash a obiectului Location - implementat in toate browserele. Obiectul Location reprezinta URL-ul complet asociat unui obiect Window dat. Fiecare proprietate a obiectului Location reprezinta diferite portiuni ale URL-ului. Un URL are urmatoarea forma:



schema://gazda:port/numecale#fragmentURI?sir_cautare

Obiectul Location are urmatoarele proprietati asociate elementelor URL-ului:

protocol - are ca valoare schema utilizata pentru accesarea documentului (schema), de exemplu, http

host - are ca valoare numele de domeniu sau adresa IP (gazda

port - are ca valoare portul utilizat de server pentru comunicare (port

pathname - are ca valoare numele caii catre document (numecale

hash (proprietate aplicabila numai URL-urilor HTTP) - are ca valoare un nume de ancora, excluzand caracterul hash ( fragmentURI

search (proprietate aplicabila numai URL-urilor HTTP) - are ca valoare partea de cautare a URL-ului, excluzand semnul de intrebare ( sir_cautare

Pe langa proprietatile enumerate, obiectul Location mai are inca doua: href (are ca valoare intregul URL) si hostname (reprezinta componentele gazda:port Proprietatea hash (implementata in JavaScript 1.0) poate fi setata oricand, dupa incarcarea documentului in browser. Daca valoarea specifica nu poate fi gasita in documentul curent, este generata o eroare. Prin setarea proprietatii hash se poate naviga in document fara reincarcarea acestuia. Principiul utilizat pentru realizarea bookmarking-ului in aplicatiile AJAX, utilizand proprietatea hash a obiectului Location, este urmatorul: datele care trebuie transmise serverului prin intermediul apelului AJAX sunt transformate intr-un sir, fiind apoi serializate. Valoarea obtinuta va fi atribuita proprietatii hash si afisata in bara de adrese a browserului, ca parte a URL-ului. Dupa cum se constata, modificarea proprietatii hash se realizeaza fara a fi necesara interactiunea cu serverul, desi ea va urma (apelul AJAX). URL-ul creat in modul descris anterior poate fi salvat de utilizator, folosind facilitatea de Bookmarking a browserului. Cand documentul este incarcat folosind semnul de carte (bookmark) creat, valoarea proprietatii hash continuta in URL este deserializata, iar datele obtinute vor fi utilizate in apelul AJAX.    In continuare este prezentat un exemplu in care se modifica proprietatea hash a obiectului Location in functie de starea paginii incarcate in browser:

<html xmlns="https://www.w3.org/1999/xhtml">

<head>

<title>Rezolvarea problemei bookmarking-ului in AJAX</title>

<script type="text/javascript">

<!-- <![

function serializare()

function deserializare()

function afiseazaStarea()

document.title = "Rezolvarea problemei bookmarking-ului

in AJAX: " + stareCurenta;

}

function schimbaStarea()

var stareCurenta = "1";

// ]]> -->

</script>

</head>

<body onload="deserializare();afiseazaStarea();">

<h2>Rezolvarea problemei bookmarking-ului in AJAX.</h2>

Starea curenta a paginii este: <span id="stare"></span>.

<br /><br />

<input type="button" onclick="schimbaStarea();"

value="Click pentru a schimba starea" />

</body>

</html>

In exemplul prezentat, pagina incarcata in browser are doua stari precizate prin intregii 1 si 2. Fiecare modificare a starii este insotita de schimbarea componentei hash a URL-ului paginii.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 997
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved