Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Включение JS на странице


Автор: EDuard 19.6.2006, 16:53
Была страница с JavaScript кодом, вынес код в отдельный файл и включил на странице как
Код

<script language="JavaScript" src="Templates/1/images/menu.js" type="text/javascript"></script>


Работает везде кроме Осла, в чем может быть трабла?  

Автор: Sardar 19.6.2006, 17:56
В руках она естественно. Если скрипт в других браузерах подключаеться (значить путь верный), то ошибка в логике (в самом скрипте) и никак не в ИЕ/теге. 

Автор: Wolf1994 19.6.2006, 18:20
По-моему, в некоторых случаях IE и альтернативные браузеры по-разному интерпретируют пути. Если для FireFox / Opera нужен путь от корневой директории, то в IE путь должен быть опущен, если вызов скрипта происходит из той же директории. Это правило относится к загрузке скриптов во фрейм, но может подойдёт и для описанного выше случая. 

Автор: smartov 19.6.2006, 18:45
Цитата(Wolf1994 @  19.6.2006,  17:20 Найти цитируемый пост)
 путь от корневой директории

Как так?  smile 
От какой такой корневой?
Все пути от текущего файла.

EDuard, 
А неработает это в смысле?
Вообще не работает и даже ошибки не выдает?
Не работает так, как планировалось? 

Автор: Wolf1994 19.6.2006, 19:23
Цитата(smartov @  19.6.2006,  18:45 Найти цитируемый пост)
От какой такой корневой?
Все пути от текущего файла.

Да, при обращении через "<script src...".

Цитата(Wolf1994 @  19.6.2006,  18:20 Найти цитируемый пост)
Это правило относится к загрузке скриптов во фрейм,


Ещё вариант навскидку:
Код

<script src="templates/1/images/menu.js" type="text/javascript"></script> 

- написать "templates" с прописной "t". 

Автор: EDuard 19.6.2006, 19:39
Цитата(smartov @  19.6.2006,  18:45 Найти цитируемый пост)
А неработает это в смысле?
Вообще не работает и даже ошибки не выдает?
Не работает так, как планировалось?  


Скрипт должен вывести меню в шапке. на месте меню просто пусто. Ошибку на странице тоже не пишет.

Цитата(Wolf1994 @  19.6.2006,  18:20 Найти цитируемый пост)
Если для FireFox / Opera нужен путь от корневой директории, то в IE путь должен быть опущен, если вызов скрипта происходит из той же директории. 

Другие скрипты загружаются нормально по этому же пути.



Цитата(Sardar @  19.6.2006,  17:56 Найти цитируемый пост)
шибка в логике (в самом скрипте) и никак не в ИЕ/теге.

Похоже.



Код

_menuCloseDelay=500;
  _menuOpenDelay=150;
  _subOffsetTop=2;
  _subOffsetLeft=-10;
  
   with(XPMainStyle = new mm_style()){
    borderwidth="0";
      separatorsize="2";
      padding="0 20 0 20";
      fontstyle="normal";
      fontweight="normal";
      fontfamily="Tahoma,Helvetica,Verdana";
      subimagepadding="0";
      menubgimage="Templates/eleps/images/e_menu_bg.gif";
      separatorwidth="0";
      separatorimage="Templates/eleps/images/e_menu_separator.gif";
      align="center";
      itemheight="35";
      offclass="menu";
      onclass="menu";
      
    }
  
   with(XPMenuStyle = new mm_style()){
    onbgcolor="#C1D2EE";
      oncolor="#000000";
      offbgcolor="FFFFFF";
      offcolor="#000000";
      bordercolor="#8A867A";
      borderstyle="solid";
      borderwidth="1";
      separatorcolor="#8A867A";
      separatorpadding="2";
      separatoralign="right";
      separatorwidth="80%";
      padding="3";
      fontsize="75%";
      fontstyle="normal";
      fontweight="normal";
      fontfamily="Tahoma,Helvetica,Verdana";
      subimage="/Templates/eleps/images/arrow.gif";
      onborder="1px solid #316AC5";
      overfilter="Fade(duration=0.2);Alpha(opacity=90);Shadow(color='#C9CFD8', Direction=135, Strength=5)";
      outfilter="randomdissolve(duration=0.3)";
      menubgimage="menuTemplates/eleps/images/winxp.gif";
      
    }
  

  

  with(milonic=new menuname("topmenu")){
   style=XPMainStyle;
   top=220;
   left=180;
   alwaysvisible=1;
   orientation="horizontal";
   margin=0;
   position="relative";
   
      aI("text=Πêîìïàíèè;url=?_pageid=;showmenu=8;");
     
      aI("text=Ôîðóì;url=?_pageid=;");
     
      aI("text=Îòçûâû;url=?_pageid=;");
     
      aI("text=Ñåðâèñ;url=?_pageid=;");
     
      aI("text=Ïóáëèêàöèè;url=?_pageid=;");
     
   }

  

  

  with(milonic=new menuname("8")){
   style=XPMenuStyle;
   overflow="scroll";
   margin=4;
   
      aI("text=Ñåðòèôèêàòû;url=?_pageid=;");
     
      aI("text=Ñõåìà ïðîåçäà;url=?_pageid=;");
     
      aI("text=Ñîòðóäíèêè;url=?_pageid=;");
     
      aI("text=Ïàðòíåðû;url=?_pageid=;");
     
   }

 drawMenus();


Посмотрите плиз кто-нибудь в чем может быть ошибка. 

Автор: [xoodo] 19.6.2006, 23:37
Какой еретический скрипт... Он хоть вообще работает в ИЕ? Как подключать -- не важно, тем более, что подключен он правильно. Разве что language="JavaScript" и вправду лишнее.

Что за функция drawMenus()? Если ты утверждаешь, что это работает в Опере / ФФ, я возьмусь утверждать, что это далеко не весь код. 

Автор: Sardar 20.6.2006, 01:18
EDuard, нет, так мы просто теряем время пытаясь угадать где там синтаксическая ошибка, что ты не видишь smile
Кстати ИЕ в левом нижнем углу сменяет значок если в скрипте ошибка, кликни туда два раза, скопируй содержимое. Также из консоли оперы скопируй ошибку, по идее он там должна быть. Ну и конечно выкладывай ссылку на всю страницу целиком, иначе никуда не придём. 

Автор: EDuard 20.6.2006, 09:09
Код на странице:
Код

<td>
   <script language="JavaScript" src="Templates/eleps/images/milonic_src.js" type="text/javascript"></script>
   <script language="JavaScript1.2" src="Templates/eleps/images/mmenudom.js"></script><script>function getflta(ap){return _f}</script>
   <script language="JavaScript" src="Templates/eleps/images/tooltips.js" type="text/javascript"></script>
   <div class="mmenu" onMouseOut="startClose()" onMouseOver="stopClose()" onselectstart="return" _f="" id="menu0" style="border: 1px solid rgb(153, 153, 153); padding: 0px; background: rgb(255, 255, 161) none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; z-index: 499; visibility: hidden; position: absolute; top: -999px;">
<a name="mM1" id="mmlink0" href="#" onClick="return clickAction(this._itemRef)" onMouseOut="_mot=setTimeout('_mOUt(this._itemRef)',99)" onMouseOver="return changeStatus(this._itemRef)" style="background: transparent none repeat scroll 0%; overflow: hidden; line-height: normal; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-decoration: none; height: 1px; width: 1px; position: absolute;"></a>
   </div> 
   <script language="JavaScript" src="Templates/eleps/images/menu.js" type="text/javascript"></script>
</td>

Все файлы прикрепляю в архиве ниже.
В архиве кроме приведенных выше находятся так же другие скрипты включенные на странице. 

Автор: smartov 20.6.2006, 10:54
Все работает нормально
IE 6.0
http://img218.imageshack.us/my.php?image=clipboard013kb.png

Ищи ошибку в путях или кеше 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)