Advisor: mark that 'Rate of reading fixed position' may be wrong, requires further...
[phpmyadmin/thilanka.git] / js / update-location.js
blob3b9c51d86d0b576ea36fb0c05c9b059e560763c5
1 /* vim: set expandtab sw=4 ts=4 sts=4: */
2 /**
3 * Scripts to update location to allow bookmarking of frameset
4 * and restoring the bookmark once the page is loaded.
6 */
8 var hash_to_set = "";
9 var hash_init_done = 0;
11 /**
12 * Sets hash part in URL, either calls itself in parent frame or does the
13 * work itself. The hash is not set directly if we did not yet process old
14 * one.
16 function setURLHash(hash)
18 if (jQuery.browser.webkit) {
20 * Setting hash leads to reload in webkit:
21 * http://www.quirksmode.org/bugreports/archives/2005/05/Safari_13_visual_anomaly_with_windowlocationhref.html
23 return;
25 if (window.parent != window && window.parent.setURLHash) {
26 window.parent.setURLHash(hash);
27 } else {
28 /* Do not set if we're not updating frameset */
29 var path = window.location.pathname;
30 if (path.substring(path.length - 9, path.length) != "index.php") {
31 return;
33 if (hash_init_done) {
34 window.location.hash = "PMAURL:" + hash;
35 } else {
36 hash_to_set = "PMAURL:" + hash;
41 /**
42 * Handler for changing url according to the hash part, which is updated
43 * on each page to allow bookmarks.
45 $(document).ready(function(){
46 /* Don't do anything if we're not root Window */
47 if (window.parent != window && window.parent.setURLHash) {
48 return;
50 /* Check if hash contains parameters */
51 if (window.location.hash.substring(0, 8) == '#PMAURL:') {
52 window.location = 'index.php?' + window.location.hash.substring(8);
53 return;
55 /* Check if we should set URL */
56 if (hash_to_set != "") {
57 window.location.hash = hash_to_set;
58 hash_to_set = "";
60 /* Indicate that we're done (and we are not going to change location */
61 hash_init_done = 1;