Я работаю над старым веб-приложением (первоначально разработанным для Internet Explorer 6, теперь обновленным для Internet Explorer 8), и мне нужно обеспечить совместимость с Mozilla Firefox и Google Chrome. Мне удалось сделать это для Mozilla Firefox, но это сложнее в Google Chrome, меню не отображается, и я не знаю, почему вообще. У меня есть такой код (здесь для главного меню и также есть что-то подобное для подменю, которые разработаны при наведении на пункты меню):Из Internet Explorer 6 в Google Chrome
if((document.all)||(window.sidebar)){
var clic="";
var style="";
if(this[i].url!=""){
style="cursor:pointer;";
clic=" onclick='window.location=\""+this[i].url+"\"'";}
A+="<div id='main"+i+"' style='position:absolute; left:"+X+"; top:"+Y+"; "+style+"width:130px"+/*this[i].larg+*/"; height:18px"+/*this.haut+*/"; background-color:"+colBarre+"; "+cssTexte+"; text-align:center' onmouseover='start("+i+", "+this[i].mnu+", "+X+", "+(Y+this.haut+1)+")'"+clic+">"+this[i].txt+"</div>";}
if(document.layers){
var txt=this[i].txt;
if(this[i].url!=""){
txt="<a href='"+this[i].url+"'>"+txt+"</a>";}
A+="<layer name='main"+i+"' left="+X+" top="+Y+" width=130px"+/*this[i].larg+*/" height=18px"+/*this.haut+*/" bgcolor="+colBarre+" onmouseover='start("+i+","+this[i].mnu+", "+X+", "+(Y+this.haut+1)+")'><center><span style='background-color:"+colBarre+cssTexte+"'>"+txt+"</span></center></layer>";}
X+=this[i].larg+1;}
После многих исследований в Интернете я до сих пор не понимаю, какие документы.layers, document.all, window.sidebar, window.getElementById и document.getElementById - это то, что они точно вернут и какова разница между window.getElementById и document.getElementById.
Подводя итог: мне нужна информация о document.layers, document.all, window.sidebar, window.getElementById и document.getElementById.
Просто подключите Mootools с уровнем совместимости или jQuery 1.x и дайте библиотекам понять это. Если вы еще не знаете, что такое 'document.all', вам не удастся это сделать в ближайшее время. –
Я знаю document.all из DOM API, но я не нахожу, если он устарел или нет, и если он устарел, тем, что я могу заменить. Я не могу найти документацию об этом, поэтому я не знаю, что возвращает document.all. – eromjo
'all' никогда не был функцией JavaScript, но специфической для JScript-функции Microsoft; также: «' all' больше не поддерживается. Начиная с Internet Explorer 11, используйте 'getElementById'. Смотрите: https://msdn.microsoft.com/en-us/library/ms537434(v=vs.85).aspx Так как IE8 также знает функции getElementBy ... , вы должны использовать те – feeela