ФорумРазработкаКлиентская сторонаВерстка и оформление → Хак <body class="ie">

Хак <body class="ie">

  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 14:14, спустя 2 часа 4 минуты 15 секунд

    я считаю что по юзерагенту нихуя нельзя выставлять, нухно определять браузер по косвенным признакам

    смотрим на жуквери, никаких проверок на window.opera или на window.activeX


    
    (function(){
    
    	jQuery.support = {};
    
    	var root = document.documentElement,
    		script = document.createElement("script"),
    		div = document.createElement("div"),
    		id = "script" + (new Date).getTime();
    
    	div.style.display = "none";
    	div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
    
    	var all = div.getElementsByTagName("*"),
    		a = div.getElementsByTagName("a")[0];
    
    	// Can't get basic test support
    	if ( !all || !all.length || !a ) {
    		return;
    	}
    
    	jQuery.support = {
    		// IE strips leading whitespace when .innerHTML is used
    		leadingWhitespace: div.firstChild.nodeType == 3,
    		
    		// Make sure that tbody elements aren't automatically inserted
    		// IE will insert them into empty tables
    		tbody: !div.getElementsByTagName("tbody").length,
    		
    		// Make sure that you can get all elements in an <object> element
    		// IE 7 always returns no results
    		objectAll: !!div.getElementsByTagName("object")[0]
    			.getElementsByTagName("*").length,
    		
    		// Make sure that link elements get serialized correctly by innerHTML
    		// This requires a wrapper element in IE
    		htmlSerialize: !!div.getElementsByTagName("link").length,
    		
    		// Get the style information from getAttribute
    		// (IE uses .cssText insted)
    		style: /red/.test( a.getAttribute("style") ),
    		
    		// Make sure that URLs aren't manipulated
    		// (IE normalizes it by default)
    		hrefNormalized: a.getAttribute("href") === "/a",
    		
    		// Make sure that element opacity exists
    		// (IE uses filter instead)
    		opacity: a.style.opacity === "0.5",
    		
    		// Verify style float existence
    		// (IE uses styleFloat instead of cssFloat)
    		cssFloat: !!a.style.cssFloat,
    
    		// Will be defined later
    		scriptEval: false,
    		noCloneEvent: true,
    		boxModel: null
    	};
    	
    	script.type = "text/javascript";
    	try {
    		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
    	} catch(e){}
    
    	root.insertBefore( script, root.firstChild );
    	
    	// Make sure that the execution of code works by injecting a script
    	// tag with appendChild/createTextNode
    	// (IE doesn't support this, fails, and uses .text instead)
    	if ( window[ id ] ) {
    		jQuery.support.scriptEval = true;
    		delete window[ id ];
    	}
    
    	root.removeChild( script );
    
    	if ( div.attachEvent && div.fireEvent ) {
    		div.attachEvent("onclick", function(){
    			// Cloning a node shouldn't copy over any
    			// bound event handlers (IE does this)
    			jQuery.support.noCloneEvent = false;
    			div.detachEvent("onclick", arguments.callee);
    		});
    		div.cloneNode(true).fireEvent("onclick");
    	}
    
    	// Figure out if the W3C box model works as expected
    	// document.body must exist before we can do this
    	jQuery(function(){
    		var div = document.createElement("div");
    		div.style.width = div.style.paddingLeft = "1px";
    
    		document.body.appendChild( div );
    		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
    		document.body.removeChild( div ).style.display = 'none';
    	});
    })();
    
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 14:29, спустя 14 минут 29 секунд

    жукери вообще перцы))) их мазила делает, а гугль помогает)
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 14:30, спустя 1 минуту 45 секунд

    phpdude, и мелкософт тоже
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 14:38, спустя 7 минут 22 секунды


    phpdude, и мелкософт тоже
    мс тоже тчоли? оО
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 16:07, спустя 1 час 29 минут 3 секунды

    phpdude, они внедрили поддержку в VS и хостят жуквери, я думаю они и чтото в код хотели бы дописать но я бы на месте мозилы был бы против
    у МС хватает некачественного кода чтоб еще чужой портить
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 ноября 2009 г. 16:34, спустя 27 минут 47 секунд


    phpdude, они внедрили поддержку в VS и хостят жуквери, я думаю они и чтото в код хотели бы дописать но я бы на месте мозилы был бы против
    у МС хватает некачественного кода чтоб еще чужой портить
    ну да, у них прдукты по исполнению то еще гавно судя по отзывам)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!