На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Как получить значение из codebase?
    Не сильно знаком с Javascript. Потому прошу у Вас помощи.
    В общем мне нужен значение аттрибута тега <object> codebase, которое я хочу передавать через <param> в мой ActiveX.
    Написал вот так.
    ExpandedWrap disabled
       
      <HTML>
      <OBJECT
            id="ActiveX"
            classid="clsid:DBC3AEAC-7661-4A2F-8F9D-E80396447D44"
            codebase="http://localhost/MyActiveForm.cab#version=1,0,0,0"
            width=350
            height=250
            align=center
            hspace=0
            vspace=0
      >
      <PARAM NAME="server" VALUE="javascript:ActiveX.codebase">
      </OBJECT>
      </HTML>


    В итоге в мой ActiveX приходит строка undefined, вместо того что на самом деле в codebase.
    Подскажите плиз как быть.

    P.S.
    Пробовал для отладки вставлять в html-код
    ExpandedWrap disabled
       
      <INPUT NAME=kn TYPE=button onClick="javascript:window.alert(ActiveX.codebase)" VALUE=codebase>

    результат тот же.
    Сообщение отредактировано: oldm -
      Цитата
      codeBase

      Попробуй так, но значение должно передаться только после полной загрузки страницы.
      ExpandedWrap disabled
         
        <OBJECT
              id="ActiveX"
              classid="clsid:DBC3AEAC-7661-4A2F-8F9D-E80396447D44"
              codebase="http://localhost/MyActiveForm.cab#version=1,0,0,0"
              width=350
              height=250
              align=center
              hspace=0
              vspace=0>
        <PARAM NAME="server" VALUE="">
        </OBJECT>
         
         
        <script TYPE="text/javascript">
        <!--
        window.onload=function()
        {
            var par=document.getElementById('ActiveX').getElementsByTagName('PARAM');
            for(var i=0;i<par.length;i++)
            if(par[i].name.toLowerCase()=="server")
            {
                 par[i].value=document.getElementById('ActiveX').codeBase;
                 break;
            }
        }
        //-->
        </SCRIPT>
        Mixxx, Спасибо большое. То что надо.
        Сообщение отредактировано: oldm -
          Немного поспешил сказав то что надо. Передаётся пустая строка, видимо сначала берётся значение
          из самого тэга
          ExpandedWrap disabled
            <PARAM NAME="server" VALUE="">
          , где VALUE="", а уже потом видимо из скрипта. И в код ActiveXа попадает пустая строка, что не есть хорошо.
          Может ещё что-нить посоветуете.
            oldm
            Тогда может в лоб, продублировать значение codebase в теге param?
            Неужели у вас нет такой возможности?
              Mixxx
              А оказалось всё очень просто, я уже просто стал методом научного тыка в вашем скрипте все варианты
              пробовать и всё таки на правильный наткнулся:
              ExpandedWrap disabled
                 
                <script TYPE="text/javascript">
                <!--
                window.onload=function()
                {
                   ActiveX.server = ActiveX.codeBase;
                }
                //-->
                </SCRIPT>

              Спасибо за помощь.

              P.S. Волшебный однако этот JavaScript :)
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0220 ]   [ 15 queries used ]   [ Generated: 27.04.24, 19:45 GMT ]