he estado luchando por un tiempo tratando de tener la función de rotación (xdeg) en IE 8, 7 y 6, para esto busco en Google por un tiempo y encontré cssSandpaper pero dado que tengo que cargar 4 secuencias de comandos diferentes que quiero hacer sólo si su necesaria para este im usando modernizr im tratando de hacer algo como esto:Modernizr con cssSandpaper?
<head>
<link rel="stylesheet" href="stilos/estilo.css" />
<script src="scripts/modernizr.custom.19387.js"></script>
<script src="scripts/jquery-1.8.1.js"></script>
<script src="scripts/misfallbacks.js"></script>
</head>
<body>
<div id="acerca"><a href="#">Acerca de mi</a></div>
</body>
mi archivo css (estilo.css):
#acerca{
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform:rotate(90deg);
-sand-transform:rotate(90deg);
position: relative;
top: -233px;
left: 462px;
width: 123px;
height: 23px;
z-index:100;
}
mi archivo JS (misfallbacks.js)
Modernizr.load({
test:Modernizr.csstransforms,
nope:['transformie/EventHelpers.js/','transformie/cssQuery-p.js','transformie/sylvester.js','transformie/cssSandpaper.js']
);//Fin de monernizr on load
Funciona muy bien en Safari, Chrome, Opera, Firefox y IE9 pero cuando intento de IE8 o IE7 me sale el siguiente error en la consola
SCRIPT5007: Unable to get value of the property 'addEventListener': object is null or undefined EventHelpers.js, line 49 character 9
he añadido un console.log para tratar de averiguar lo que estaba pasando y fue a esa línea aquí es (EvenHelpers.js):
me.addEvent = function(obj, evType, fn){
console.log(obj);//I've added this to try to figure out what is going on
if (obj.addEventListener) {........//here is the error
en la próxima ejecución he comprobado la consola de nuevo una sierra esta LOG: null
, no soy un experto en javascript, así que no estoy seguro de lo que es pasando pero intento algo diferente y agregué el cssSandPaper usando la etiqueta de script como esta:
<head>
<link rel="stylesheet" href="stilos/estilo.css" />
<script src="scripts/modernizr.custom.19387.js"></script>
<script src="scripts/jquery-1.8.1.js"></script>
<!--<script src="scripts/misfallbacks.js"></script>-->
<script src="transformie/EventHelpers.js"></script>
<script src="transformie/cssQuery-p.js"></script>
<script src="transformie/sylvester.js"></script>
<script src="transformie/cssSandpaper.js"></script>
</head>
para mi sorpresa funcionó como un encanto, y así tengo la característica de rotación incluso en IE7 e IE8 y la consola decir esto ahora LOG: [objeto HTMLScriptElement] pero soy consciente de que el uso de esta manera siempre seré cargar estos 4 guiones incluso cuando no son necesarios y eso no es mi objetivo, pero como estoy comenzando con modernizr y javacript, no tengo idea de qué está pasando D: y por qué cuando cargo los guiones usando nope: [' '] de modernizr doesnt trabajo. Alguien sabe una manera de resolver esto? ... lo siento por mi inglés, no mi primer languague
editar: hice un poco de investigación sobre este objeto HTMLScriptElement y se supone que debe referirse a una etiqueta de script supongo que cuando cargo el archivo js con nope: de modernizr algo cambia y este objeto se vuelve nulo porque ya no se carga dentro de una etiqueta de script ... pero todavía estoy en el mismo problema ... ¿cómo lo resuelvo? :/
jsFiddle Test without Modernizr
Respuesta: Terminé usando si lt IE 9 para cargar los scripts de papel de lija que se hacían el trabajo
¿Podría agregar un jsfiddle? – armonge