Я некоторое время пытался изо всех сил пытаться использовать функцию rotate (xdeg) для IE 8, 7 и 6, для этого я google и нашел cssSandpaper, но поскольку мне нужно загрузить 4 разных сценария, я хочу сделать это, только если это необходимо для этого im, используя modernizr im пытается что-то вроде этого:
<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>
my 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;
}
my js file (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
Он отлично работает на сафари, хром, опера, Firefox и IE9, но когда я пытаюсь использовать IE8 или IE7, я получаю следующую ошибку на консоли:
SCRIPT5007: Unable to get value of the property 'addEventListener': object is null or undefined EventHelpers.js, line 49 character 9
Я добавил console.log, чтобы попытаться выяснить, что происходит, и пошел к этой строке здесь (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
в следующем прогоне я снова проверил консоль, увидев это LOG: null
, я не эксперт по javascript, поэтому я не уверен, что происходит, но я пытаюсь что-то другое и добавил cssSandPaper с помощью тега script это:
<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>
к моему удивлению работал как шарм, и вот так у меня есть функция поворота даже в IE7 и IE8, и консоль говорит об этом сейчас LOG: [object HTMLScriptElement], но им известно, что используя этот способ я всегда буду загружать эти 4 скрипта, даже если они не нужны, и это не цель mi, но поскольку я начинаю с modernizr и javacript, чтобы быть hones, я не знаю, что происходит D: и почему, когда я загружаю скрипты, используя nope: [''] от modernizr не работает. кто-нибудь знает способ решить это?... им жаль мой английский не мой первый язык
edit: я немного исследовал этот объект HTMLScriptElement и предположил, что ссылаюсь на тег script, я полагаю, что когда я загружаю js файл с помощью nope: из modernizr что-то изменится, и этот объект станет null, так как больше не загружен внутри тега script... но im все еще в той же проблеме... как я могу это решить?:/
Ответ: Я закончил использование , если IE IE 9, чтобы загрузить сценарии с песочной бумагой, которые он выполнил.