Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- function loadScroll() {
- var cookieList = document.cookie.split(';');
- for (var i = 0; i < cookieList.length; i++) {
- var cookieParts = cookieList[i].split('=');
- if (cookieParts[0] == 'scrollPosition') {
- var values = unescape(cookieParts[1]).split('/');
- for (var j = 0; j < values.length; j++) {
- var currentValue = values[j].split(',');
- try {
- if (currentValue[0] == 'window') {
- window.scrollTo(currentValue[1], currentValue[2]);
- } else if (currentValue[0]) {
- var elm = document.getElementById(currentValue[0]);
- elm.scrollLeft = currentValue[1];
- elm.scrollTop = currentValue[2];
- }
- } catch (ex) { }
- }
- return;
- }
- }
- }
- function saveScroll() {
- var s = 'scrollPosition=';
- var wl, wt;
- wl = f_scrollLeft();
- wt = f_scrollTop();
- function f_scrollLeft() {
- return f_filterResults (
- window.pageXOffset ? window.pageXOffset : 0,
- document.documentElement ? document.documentElement.scrollLeft : 0,
- document.body ? document.body.scrollLeft : 0
- );
- }
- function f_scrollTop() {
- return f_filterResults (
- window.pageYOffset ? window.pageYOffset : 0,
- document.documentElement ? document.documentElement.scrollTop : 0,
- document.body ? document.body.scrollTop : 0
- );
- }
- function f_filterResults(n_win, n_docel, n_body) {
- var n_result = n_win ? n_win : 0;
- if (n_docel && (!n_result || (n_result > n_docel)))
- n_result = n_docel;
- return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
- }
- var elements='';
- if (document.getElementsByName("part[0][content]").length > 0) {
- elements = document.getElementsByName("part[0][content]");
- } else if (document.getElementsByName("snippet[content]").length > 0) {
- elements = document.getElementsByName("snippet[content]");
- } else if (document.getElementsByName("layout[content]").length > 0) {
- elements = document.getElementsByName("layout[content]");
- } else if (document.getElementsByName("file[content]").length > 0) {
- elements = document.getElementsByName("file[content]");
- }
- var e = elements[0];
- if (e.id && (e.scrollLeft || e.scrollTop)) {
- s += e.id + ',' + e.scrollLeft + ',' + e.scrollTop + '/';
- }
- document.cookie = s + ';';
- }
- var addEvent, eventPrefix;
- if (window.attachEvent) {
- addEvent = window.attachEvent;
- eventPrefix = 'on';
- } else {
- addEvent = window.addEventListener;
- eventPrefix = '';
- }
- addEvent(eventPrefix + 'load', function() {
- loadScroll();
- if (typeof Sys != 'undefined' && typeof Sys.WebForms != 'undefined') {
- Sys.WebForms.PageRequestManager.getInstance().add_endRequest(loadScroll);
- Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(saveScroll);
- }
- }, false);
- addEvent(eventPrefix + 'unload', saveScroll, false);
- })();
Add Comment
Please, Sign In to add comment