Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Подключение скриптов под IE и другие браузеры (https://javascript.ru/forum/css-html-internet-explorer/15948-podklyuchenie-skriptov-pod-ie-i-drugie-brauzery.html)

abc_ua 20.03.2011 06:45

Подключение скриптов под IE и другие браузеры
 
Есть 2 скрипта: один создан для общей массы браузеров, другой немного изменен для IE.

в <head> прописано:
<script type="text/javascript" src="menu.js"></script>
<!--[if IE]><script type="text/javascript" src="menuIE.js"></script><![endif]-->


в скрипте под ie основная функция навешана вот так
window.attachEvent("onload", init);


а в основном:
window.addEventListener("load", init, false);


проблема в том, что при загрузке страницы IE извещает нас всплывающим окошком о том, что не понимает window.addEventListener, подскажите как быть?



--------------
разобрался

dmitriymar 20.03.2011 10:32

не подключать основной скрипт если человек заходит с ие

abc_ua 20.03.2011 16:48

dmitriymar,
Как? Сейчас я дописал условие if(window.attachEvent) ...


----------
Нашел такой способ определения на хабре IE='\v'=='v'; if(IE) ...

Yurik 21.03.2011 15:25

а если так
<!--[if !IE]><script type="text/javascript" src="menu.js"></script><![endif]-->
<!--[if IE]><script type="text/javascript" src="menuIE.js"></script>![endif]-->

abc_ua 21.03.2011 16:51

Yurik,
условные комментарии понимает только ie

poorking 21.03.2011 17:20

А что если сделать файл скрипта один, но в нем и проверять, если браузер IE то выполнять другой код
var isIE = false//@cc_on || true
alert(isIE);

Или сделать js файл, который будет динамически вставлять тег script с нужным src на страницу в зависимости от isIE

abc_ua 22.03.2011 00:45

poorking,
это все понятно, мне интересно

Цитата:

Сообщение от dmitriymar (Сообщение 97310)
не подключать основной скрипт если человек заходит с ие

каким образом?

poorking 22.03.2011 01:58

<script type="text/javascript" src = "custom.js"></script>


custom.js
window.onload = function(){
	var all = "./all.js";
	var ie = "./ie.js";
		
	var isIE = false//@cc_on || true
		
	var script = document.createElement("SCRIPT");
	script.type = "text/javascript";
	script.src = isIE ? ie : all;
		
	document.body.appendChild(script);		
}

all.js
alert("Основной скрипт для всех браузеров");

ie.js
alert("Измененный скрипт, специально для IE");

Ну вот, например, в зависимости от того какой браузер (ИЕ или остальные), подключается нужный файл


Часовой пояс GMT +3, время: 18:07.