Здравствуйте участники форума. Помогите пожалуста с одним вопросом.
Случайно обнаружив что есть такая замечательная весчь как XUL-runner .И вот радилась у мя такая идея сделать на ней весь фэйс аппа, а всё остальное написать на ActiveX.dll на VB6 поскольку мне нужен был доступ к базам данных и сокетам. и вот тут я столкнулся с тем очём на форуме впоследствиии и узнал, нельзя в ява скрипте впаривать ActiveX объекты. Может быть кто нибудь придумал обойти данную проблему, потому что заново всё переделывать особого желания не имеется, да и кроме Вб и паскаля я языков та вобщемто и не знаю, а зделать надо...

После долгих раздумий на эту тему я решил проблему с базой данных, жаль конечно что получилось не всё так как было но
Я просто использовал вот что

base=new Array(30);
var cIndex;
//-=----------------------------------

function Card(name,surname,nick,home,gsm,icq,mail,jabber,house,room,net,ip,whois){
this.name=name;
this.surname=surname;
this.nick=nick;
this.home=home;
this.gsm=gsm;
this.icq=icq;
this.mail=mail;
this.jabber=jabber;
this.house=house;
this.room=room;
this.net=net;
this.ip=ip;
this.whois=whois;
}

function Init(){
cIndex=0;
base[cIndex]=new Card("ja","surname","nick","home","gsm","icq","mail","jabber","house","room","net","ip","whois");
cIndex=1;
base[cIndex]=new Card("ja1","surname1","nick1","home1","gsm1","icq","mail","jabber","house","room","net","ip1","whois");
}

вот только пока не получается формировать страницы по запросу как в ADODC

что касается сокетов то я нашёл их в чатзилле но понять так и не смог что там отекуда берётся...

И ещё у мя возник вопрос
вот после того как я напишу все ксулы и т.п. как мне скомпилировать EXEшку чтоб народ не знал что всё написано на ксуле .(как с яриками работать я уже понял)

что касается сокетов

Можно почитать здесь: http://www.xulplanet.com/tutorials/mozsdk/sockets.php, http://www.xulplanet.com/tutorials/mozs … erpush.php

чтоб народ не знал что всё написано на ксуле

никак, наверное, разве что распаковывать chrome при каждом запуске

Anton большое спасибо за информацию по сокетам, аднако мне бы ещё узнать как делать udp peers потому что я хотел добавить небольшой чатик для локалки. в указанной информации говорится только про протокол  TCP/IP

Что касается компилирования я придумал хитры весщ
чтобы не мелькало чёрное окно батничка и я мог бы устанавливать своё приложение где хочется я написал на vb6(мой любимы язык) небольшую экзешку. и туда вставил ещё и иконку приложения. как раз и ярлык получается такой какой я хочу

появилась очередная загвоздка
после впихивания контента в jar невыполняются яваскрипты и диалоги
также не показывются ресурсы (картинки и просто гипертекстовые файлы). манифест вроде прописал правильно
мо кто сталкивался

значит неправильно :) показывай манифест.

content myapp jar:content.jar!/content/ xpcnativewrappers=yes

а какие ссылки на ресурсы используешь?

<script src="ado.js"/>

<browser flex="1" src="help.htm" />

function showmap(){
window.open("map.xul","map","modal,chrome,centerscreen");

}

все файлы лежат в одной папке

все файлы лежат в одной папке

в папке или архиве?
в любом случае надо указывать абсолютные пути...

я имею ввиду в папке которая лежит в архиве
самое интересное что тулбарные каринки отображаются а те которые я загружаю в iframe недействуют(неотображаются)

под абсолютным путём ты имеешь ввиду chrome://...

да

всёравнотупит некоторые отображает а некоторые нет.

Добавлено Пнд 16 Июл 2007 21:18:51 :
опппа просёк надобыло пихать не в папку с ксулами , тода всё пашет
например в папку skin

а какие ссылки на ресурсы используешь?

относительные, т.е

content.jar
  -content
   -ксулики и явики
   -skin
    -картиночки

а в ксуле писал

Выделить код

Код:

src="skin/hello.bmp"

кста я умудрился настроить msvs2005 под ксул, прада это нада делать нормальный документ но уже хоть редактировать можно нормально в одном приложении и яву и ксул и с подсветкой


у каво есть желание сделать больлшой правельны ксул пишите

Замечание п. 4.12
Sergeys

скины надо прописывать так:

Выделить код

Код:

skin console2	classic/1.0	jar:chrome/console2.jar!/skin/classic/console2/

а ссылки примерно такими получаются:

Выделить код

Код:

chrome://console2/skin/import/console-toolbar.png

"chrome://console2/skin/" в данном случае указывает на "jar:chrome/console2.jar!/skin/classic/console2/"

Dark-Demon я вёл разговор не совсем про скины а про картинки от скинов независящие. но всё равно спасибо что объяснил. Кстати а вот на CSS где найти описание у какого контрола какие стили .

есть свг

Выделить код

Код:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"   "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd">
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300">
<g id="x">
<rect  x="17" y="17" width="20" height="20"  style="stroke:#000dfe;"/>
</g>
</svg>
Выделить код

Код:

<?xml version="1.0" encoding="windows-1251" ?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="main" title="zzz" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<iframe id="x" src="map.svg"/>
</window>

как из ксула добратся до объектов в свг и сменить допустим стиль или координату
или я мо что не так делаю

http://www.xulplanet.com/tutorials/xulqa/q_iframe.html
Получаем document iframe'а, и делаем getElement[s]By[Id|Attribute|TagName]

непрокатило, пишет что iframe/method1 has no properties(по примеру из ссылки),
если тебе всётаки удалось сменить стиль прямоугольника напиши исходник я посмотрю что я не так делаю

Дополненный *.xul из сообщения № 18:

Выделить код

Код:

<?xml version="1.0" encoding="windows-1251" ?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="main" title="zzz" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript">
	<![CDATA[
		function f ()
		{
			var svg_x = window. frames [0]. document. getElementById ("x");
			var rect = svg_x. getElementsByTagName ("rect") [0];
			rect. setAttribute ("x", "1");
			rect. style. setProperty ("stroke", "rgb(255,0,0)", "important");
			rect. style. setProperty ("fill", "rgb(0,0,255)", "important");
		}
	]]>
</script>
<iframe id="x" src="s.svg"/>
<button label="1" oncommand="f()"/>
</window>

Добавлено Сбт 21 Июл 2007 14:23:09 :
p.s. ещё можно

Выделить код

Код:

var svg_x = window. frames ["x"]...

из  с . №21

Выделить код

Код:

function f ()
        {
            var rect = window. frames [0]. document. getElementById ("x"); //svg_x заменено на Rect
            // var rect = svg_x. getElementsByTagName ("rect") [0]; //закаментировано
            rect. setAttribute ("x", "1");
            rect. style. setProperty ("stroke", "rgb(255,0,0)", "important");
            rect. style. setProperty ("fill", "rgb(0,0,255)", "important");
        }

а вот так работает
большое спасибо за помощь в решении проблемы

да очень бы хотлеось узнать  а как наоборот из скрипта документа iframe выйти на елемент который содержится на том же уровне что и iframe допустим

Выделить код

Код:

....
<iframe...>------------------------------------------------------------------------
                      | <script > function f(){//и вот тут получить доступ к элементу X }|
                      -------------------------------------------------------------------
<object id="X" .../>//у мя кнопка
....

это оказалось достаточно просто
var v=parent.document.getElementById("X");
v.setAttribute("label","123");

прошу модераторов переименовать наверное мою тему в "Вопросы начинающего и ответы на них"

а теперь самый интересны вопрос
КАК ДОБАВИТЬ КОНСОЛЬ JAVASCRIPT В СВОЁ ПРИЛОЖЕНИЕ????

как её добавить даже сам нашёл

Выделить код

Код:

window.open('chrome://global/content/console.xul','global:console','chrome,extrachrome,menubar,resizable,scrollbars,status,toolbar');"

НО
она не обрабатывает моих ошибок, если в фаере консоль говорит что вот у тя тут ошибка
то уже запущеннае  раннером консоль тихо отмалчивается....

запущеннае  раннером консоль тихо отмалчивается....

Скорее всего, отсутствуют необходимые настройки в prefs.js: http://developer.mozilla.org/en/docs/Se … nvironment

Антон не помогло, консоль реагирует только на ошибки которые возникают в элементах типа браузер и т.д., ладно я немного переписал и всё заработало.

появился ещё один вопрос
я сделал в своём приложении "мастер обновления", какой код мне туда прописать и что должен передовать мой хттп сервер чтобы я мог  обновлять приложение??? В файере как-то хитро очень нанисано с использованием большого число объектов... мне же по идее нужно заменять только один архив. Да и ещё вопрос в папке с ксулранером лежит update.exe  - это апдеейт чего можно ли его испоьзовать для обновления своего приложения или вообще удалить сгаздолой от нерадивых пользователей которым приложение будет роздано.

Вообщем консоль очнулась и начала выдавать мои ошибки...
только вот показывать окно исходного кода она не хочет с криком
XML Parsing Error: undefined entity
Location: chrome://global/content/viewSource.xul
Line Number 18, Column 1:

кто-нибудь знает что исправить потому что я проверил данный ксул на вязалке2005(msvs) но она ничего мне про то что чтонибудь неправильно не сказала

ну приведи, чтоли, эту 18-ю строку...

я короче смотрел что в чём там прикол
помойму товарищи сборщики както хитро прописали "&something;" воттакие вещи
Дело в том что ChatZilla у мя на той же папке работает у неё всё нормально (она показывает исходный код) а вот моё не пашет, кстати в ксулэксплорере(XULEXPLORER) тоже когда пытаешься посмотреть исходный код таким вот методом появляются теже проблемы

я попытался конечно просто заменить товарищей &something; и вот только тогда получилось открыть окошко.
файл находтися в toolkit.jar папка global


После долгих мучений мне всётаки удалось завести это окно неизменяя viewSource.xul, но оно к сожалению открывается только один раз (версия 1804)
оказывается в манифесте надобыло прописать locale branding ... (см в чатзиллу)
после этого сделать свой собственный brand.dtd  и brand.properties. Я редактанул чатзиловские чтоб самому не писать. Но как только пытаешься открыть второй раз заргузка проца и ядра=100% и происходит утечка памяти эксплорер начинает вести себя странно и проводники "склеиваются". приходится перегружать эксплорер. Вот такая вот история . если кто-то знает что надо сделать чтоб таких вещей небыло напишите