diff options
author | diosmosis <benaka@piwik.pro> | 2015-05-10 05:00:51 +0300 |
---|---|---|
committer | diosmosis <benaka@piwik.pro> | 2015-05-13 08:23:42 +0300 |
commit | 982275422bc76992e9498ce4c9fd4499dae840c9 (patch) | |
tree | 5c6aa5fe2d168a680b69139186baadbf553d2be5 /libs/jquery | |
parent | a53ae704fecf5fb8c991b8f52275c7327429515f (diff) |
Remove jquery.history plugin, make sure broadcast starts a digest cycle after modifying (through the history service), hide error in anchorLinkFix code if hash is not valid element selector, and use .path to push new history items.
Diffstat (limited to 'libs/jquery')
-rw-r--r-- | libs/jquery/jquery.history.js | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/libs/jquery/jquery.history.js b/libs/jquery/jquery.history.js deleted file mode 100644 index 305118bef8..0000000000 --- a/libs/jquery/jquery.history.js +++ /dev/null @@ -1,181 +0,0 @@ -/* - * jQuery history plugin - * - * Copyright (c) 2006-2009 Taku Sano (Mikage Sawatari) - * Copyright (c) 2010 Takayuki Miwa - * - * Licensed under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - */ - -(function($) { - var locationWrapper = { - put: function(hash, win) { - (win || window).location.hash = this.encoder(hash); - }, - get: function(win) { - var hash = ((win || window).location.hash).replace(/^#/, ''); - try { - return $.browser.mozilla ? hash : decodeURIComponent(hash); - } - catch (error) { - return hash; - } - }, - encoder: encodeURIComponent - }; - - var iframeWrapper = { - id: "__jQuery_history", - init: function() { - var html = '<iframe id="'+ this.id +'" style="display:none" src="javascript:false;" />'; - $("body").prepend(html); - return this; - }, - _document: function() { - return $("#"+ this.id)[0].contentWindow.document; - }, - put: function(hash) { - var doc = this._document(); - doc.open(); - doc.close(); - locationWrapper.put(hash, doc); - }, - get: function() { - return locationWrapper.get(this._document()); - } - }; - - function initObjects(options) { - options = $.extend({ - unescape: false - }, options || {}); - - locationWrapper.encoder = encoder(options.unescape); - - function encoder(unescape_) { - if(unescape_ === true) { - return function(hash){ return hash; }; - } - if(typeof unescape_ == "string" && - (unescape_ = partialDecoder(unescape_.split(""))) - || typeof unescape_ == "function") { - return function(hash) { return unescape_(encodeURIComponent(hash)); }; - } - return encodeURIComponent; - } - - function partialDecoder(chars) { - var re = new RegExp($.map(chars, encodeURIComponent).join("|"), "ig"); - return function(enc) { return enc.replace(re, decodeURIComponent); }; - } - } - - var implementations = {}; - - implementations.base = { - callback: undefined, - type: undefined, - - check: function() {}, - load: function(hash) {}, - init: function(callback, options) { - initObjects(options); - self.callback = callback; - self._options = options; - self._init(); - }, - - _init: function() {}, - _options: {} - }; - - implementations.timer = { - _appState: undefined, - _init: function() { - var current_hash = locationWrapper.get(); - self._appState = current_hash; - self.callback(current_hash); - setInterval(self.check, 100); - }, - check: function() { - var current_hash = locationWrapper.get(); - if(current_hash != self._appState) { - self._appState = current_hash; - self.callback(current_hash); - } - }, - load: function(hash) { - if(hash != self._appState) { - locationWrapper.put(hash); - self._appState = hash; - } - self.callback(hash); - } - }; - - implementations.iframeTimer = { - _appState: undefined, - _init: function() { - var current_hash = locationWrapper.get(); - self._appState = current_hash; - iframeWrapper.init().put(current_hash); - self.callback(current_hash); - setInterval(self.check, 100); - }, - check: function() { - var iframe_hash = iframeWrapper.get(), - location_hash = locationWrapper.get(); - - if (location_hash != iframe_hash) { - if (location_hash == self._appState) { // user used Back or Forward button - self._appState = iframe_hash; - locationWrapper.put(iframe_hash); - self.callback(iframe_hash); - } else { // user loaded new bookmark - self._appState = location_hash; - iframeWrapper.put(location_hash); - self.callback(location_hash); - } - } - }, - load: function(hash) { - if(hash != self._appState) { - locationWrapper.put(hash); - iframeWrapper.put(hash); - self._appState = hash; - } - self.callback(hash); - } - }; - - implementations.hashchangeEvent = { - _init: function() { - self.callback(locationWrapper.get()); - $(window).bind('hashchange', self.check); - }, - check: function() { - self.callback(locationWrapper.get()); - }, - load: function(hash) { - if(locationWrapper.get() == hash) { - self.callback(locationWrapper.get()); - } else { - locationWrapper.put(hash); - } - } - }; - - var self = $.extend({}, implementations.base); - - if($.browser.msie && ($.browser.version < 8 || document.documentMode < 8)) { - self.type = 'iframeTimer'; - } else if("onhashchange" in window) { - self.type = 'hashchangeEvent'; - } else { - self.type = 'timer'; - } - - $.extend(self, implementations[self.type]); - $.history = self; -})(jQuery);
\ No newline at end of file |