Цитата: 
	
 str 3093 
document.viewport = {
  getDimensions: function() {
    return { width: this.getWidth(), height: this.getHeight() };
  },
  getScrollOffsets: function() {
    return Element._returnOffset(
      window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
      window.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop);
  }
};
(function(viewport) {
  var B = Prototype.Browser, doc = document, element, property = {};
  function getRootElement() {
    if (B.WebKit && !doc.evaluate)
      return document;
    if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)
      return document.body;
    return document.documentElement;
  }
  function define(D) {
    if (!element) element = getRootElement();
    property[D] = 'client' + D;
    viewport['get' + D] = function() { return element[property[D]] };
    return viewport['get' + D]();
  }
  viewport.getWidth  = define.curry('Width');
  viewport.getHeight = define.curry('Height');
})(document.viewport);
Единственный минус: не учитывается compatMode. Но это сейчас уже не столь актуально.  | 
	
		
 Очень хрупко... 
	window.parseFloat(window.opera.version()) < 9.5 Не стал бы таким пользоваться...  | 
	
		
 prototype.1.6.1_rc2.js 
	не до конца понятно для чего этот код.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 ИМХО 
	писать такие вещи нада так, что бы в конце всех условий была такая контрукция, которая описана в доках W3C.  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Факт остается фактом: пока ваш вариант некроссбраузерен. Вариант из PrototypeJs, по-вашему, плох, но он работает верно. Когда напишете вашим способом кроссбраузерный вариант, тогда и поговорим.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Никто не говорил, что вариант из prototype плох. Какой способ мне написать?! аналог их объекта?!  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
 ---- Вы слышите только себя и ваше мнение всегда самое правильное? Обсуждение теряет смысл.  | 
| Часовой пояс GMT +3, время: 14:03. |