git-svn-id: svn://euphorik.ch/pompage@45 02bbb61a-6d21-0410-aba0-cb053bdfd66a
[pompage.git] / doc / webdeveloper / common / history.js
diff --git a/doc/webdeveloper/common/history.js b/doc/webdeveloper/common/history.js
new file mode 100644 (file)
index 0000000..a263abe
--- /dev/null
@@ -0,0 +1,37 @@
+// Adds an href to the history
+function webdeveloper_addToHistory(href)
+{
+    // If the href is set
+    if(href)
+    {
+        var globalHistory = Components.classes["@mozilla.org/browser/global-history;1"].getService(Components.interfaces.nsIGlobalHistory);
+
+        // If the href is not already in the history
+        if(!globalHistory.isVisited(href))
+        {
+            globalHistory.addPage(href);
+        }
+    }
+}
+
+// Clears the history
+function webdeveloper_removeAllFromHistory()
+{
+    Components.classes["@mozilla.org/browser/global-history;2"].getService(Components.interfaces.nsIBrowserHistory).removeAllPages();
+}
+
+// Removes an href from the history
+function webdeveloper_removeFromHistory(href)
+{
+    // If the href is set
+    if(href)
+    {
+        var globalHistory = Components.classes["@mozilla.org/browser/global-history;1"].getService(Components.interfaces.nsIGlobalHistory);
+
+        // If the href is in the history
+        if(globalHistory.isVisited(href))
+        {
+            Components.classes["@mozilla.org/browser/global-history;2"].getService(Components.interfaces.nsIBrowserHistory).removePage(Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(href, null, null));
+        }
+    }
+}