Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > JavaScript, DOM/DHTML > Как получить значение из codebase? |
Автор: oldm 06.09.04, 11:47 |
Не сильно знаком с Javascript. Потому прошу у Вас помощи. В общем мне нужен значение аттрибута тега <object> codebase, которое я хочу передавать через <param> в мой ActiveX. Написал вот так. <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> <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-код <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> <INPUT NAME=kn TYPE=button onClick="javascript:window.alert(ActiveX.codebase)" VALUE=codebase> результат тот же. |
Автор: Mixxx 06.09.04, 16:15 |
Цитата codeBase Попробуй так, но значение должно передаться только после полной загрузки страницы. <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> <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> |
Автор: oldm 06.09.04, 16:49 |
Mixxx, Спасибо большое. То что надо. |
Автор: oldm 08.09.04, 16:52 |
Немного поспешил сказав то что надо. Передаётся пустая строка, видимо сначала берётся значение из самого тэга <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> , где VALUE="", а уже потом видимо из скрипта. И в код ActiveXа попадает пустая строка, что не есть хорошо.<PARAM NAME="server" VALUE=""> Может ещё что-нить посоветуете. |
Автор: Mixxx 08.09.04, 17:47 |
oldm Тогда может в лоб, продублировать значение codebase в теге param? Неужели у вас нет такой возможности? |
Автор: oldm 09.09.04, 19:54 |
Mixxx А оказалось всё очень просто, я уже просто стал методом научного тыка в вашем скрипте все варианты пробовать и всё таки на правильный наткнулся: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> <script TYPE="text/javascript"> <!-- window.onload=function() { ActiveX.server = ActiveX.codeBase; } //--> </SCRIPT> Спасибо за помощь. P.S. Волшебный однако этот JavaScript |