Modified it to support the Ajax action on tbl_addfield.php
[phpmyadmin/ninadsp.git] / js / update-location.js
blobd271cc82ea1662be4c939387894bbd333d543474
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.
5  *
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.
15  */
16 function setURLHash(hash) {
17     if (jQuery.browser.webkit) {
18         /* 
19          * Setting hash leads to reload in webkit: 
20          * http://www.quirksmode.org/bugreports/archives/2005/05/Safari_13_visual_anomaly_with_windowlocationhref.html
21          */
22         return;
23     }
24     if (window.parent != window && window.parent.setURLHash) {
25         window.parent.setURLHash(hash);
26     } else {
27         /* Do not set if we're not updating frameset */
28         var path = window.location.pathname;
29         if (path.substring(path.length - 9, path.length) != "index.php") {
30             return;
31         }
32         if (hash_init_done) {
33             window.location.hash = "PMAURL:" + hash;
34         } else {
35             hash_to_set = "PMAURL:" + hash;
36         }
37     }
40 /**
41  * Handler for changing url according to the hash part, which is updated
42  * on each page to allow bookmarks.
43  */
44 $(document).ready(function(){
45     /* Don't do anything if we're not root Window */
46     if (window.parent != window && window.parent.setURLHash) {
47         return;
48     }
49     /* Check if hash contains parameters */
50     if (window.location.hash.substring(0, 8) == '#PMAURL:') {
51         window.location = 'index.php?' + window.location.hash.substring(8);
52         return;
53     }
54     /* Check if we should set URL */
55     if (hash_to_set != "") {
56         window.location.hash = hash_to_set;
57         hash_to_set = "";
58     }
59     /* Indicate that we're done (and we are not going to change location */
60     hash_init_done = 1;