Changeset 41:28b38fb1391b

Show
Ignore:
Timestamp:
06/03/09 22:25:45 (15 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

Experimentální implementace historie – fungují tlačítka zpět a vpřed v prohlížeči i v aplikaci (v navigační liště), ale nepracuje úplně správně.
Běží v nekonečné smyčce s čekáním 200 ms. Procházení historie nemění SQL příkaz (záměrně), ale přesto někdy nepracuje tak, jak se čeká.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • java/sql-vyuka/web/hlavni.js

    r40 r41  
    9292 
    9393function ajaxPruvodceZpet() { 
    94     /** TODO: historie navigace */ 
    95     alert('Tato funkce se teprve připravuje.'); 
     94    try { 
     95        window.back(); 
     96    } catch (e) { } 
    9697} 
    9798 
    9899function ajaxPruvodceVpred() { 
    99     /** TODO: historie navigace */ 
    100     alert('Tato funkce se teprve připravuje.'); 
     100    try { 
     101        window.forward(); 
     102    } catch (e) { } 
    101103} 
    102104 
     
    114116} 
    115117 
    116 function ajaxPruvodceNaviguj(akcePruvodce, id, kod) {     
     118function ajaxPruvodceNaviguj(akcePruvodce, id, kod) { 
     119    navigaceProhlizecem = false; 
    117120    if (ajax.readyState == 4 || ajax.readyState == 0) { 
    118121        ajax.open("POST", 'ajax.jspx?akce=napoveda&pruvodce=' + encodeURIComponent(akcePruvodce) + '&idPruvodce=' + encodeURIComponent(id) + '&kodPruvodce=' + encodeURIComponent(kod), true); 
     
    165168    } 
    166169} 
     170 
     171/** 
     172 * Načte uloženou pozici průvodce. 
     173 */ 
     174function nactiURL() { 
     175    nactiURL(false); 
     176} 
     177 
    167178/** 
    168179 * Načte uložený stav aplikace z URL (SQL příkaz, průvodce). 
    169180 */ 
    170 function nactiURL() { 
     181function nactiURL(nacistSQL) { 
    171182    /** Načteme uživatelův SQL příkaz z URL do vstupního pole */ 
    172     if (getParametr('sql')) { 
     183    if (nacistSQL && getParametr('sql')) { 
    173184        zobraz(getParametr('sql'), vstupniPole); 
    174185    } 
     
    183194 
    184195window.onload = function() { 
    185     nactiURL(); 
    186 } 
     196    nactiURL(true); 
     197} 
     198 
     199var locationHash = location.hash; 
     200var navigaceProhlizecem = false; 
     201 
     202setInterval(function() { 
     203    if (location.hash != locationHash) { 
     204        if (navigaceProhlizecem) { 
     205            nactiURL(); 
     206        } 
     207        navigaceProhlizecem = false; 
     208        locationHash = location.hash; 
     209    } 
     210}, 200); 
     211