Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

Разработка » XSLT - просветите ... » 23-11-2006 09:50:52

http://www.w3schools.com/xsl/el_variable.asp :

Note: Once you have set a variable's value, you cannot change or modify that value!

Вот собственно и всё =)

Разработка » выполнить определённый код при старте и завершении сессии. » 07-11-2006 15:31:08

Имхо, необходимо создать xpcom компонент, в нём зарегистрировать observer через компонент "@mozilla.org/observer-service;1". И слушать его :) При закрытии посылается "quit-application", при открытии - "app-startup".. Пример можно глянуть в components/nsExtensionManager.js..

Firefox » Проанализируйте - странная ссылка. » 10-02-2006 09:04:24

Выделить код

Код:

$ w3m -dump_head http://www.e-puzzle.ru/book/SergeyLazarev-Neopublikovannoe.rar
Date: Fri, 10 Feb 2006 06:02:14 GMT
Server: Apache/1.3.33 (Unix)
Cache-Control: max-age=0
Expires: Fri, 10 Feb 2006 06:02:14 GMT
Last-Modified: Tue, 07 Feb 2006 06:05:13 GMT
ETag: "20b04e-51bd8-43e83899"
Accept-Ranges: bytes
Content-Length: 334808
Connection: close
Content-Type: text/plain; charset=windows-1251

Заголовок Content-Type сервер неверно отдаёт имхо. Из-за этого фаерфокс решает что это обычный текстовый файл, да еще в кодировке cp1251.

Разработка » Затребование компонентов XPCOM из веток Network, Mail ... » 03-02-2006 10:25:07

Вообще, в сырцах фаерфокса 1.5 есть "mailnews/". Там лежат сырцы компонент - видимо собрать их можно.. Только как - я тебе не скажу, т.к. сам не знаю.

Разработка » Затребование компонентов XPCOM из веток Network, Mail ... » 03-02-2006 09:43:20

Посмотрите в профиле или в директории firefox'а файл compreg.dat - там прописаны все компоненты.. Попробуйте поискать. Кстати, в моём нет (Firefox 1.5, Xulrunner 1.8). ;)

Разработка » Источники данных с "коротким" именем » 01-02-2006 08:44:31

А почему бы одним источником данных не обойтись? Добавить метод, скажем, changeDataSourceURL (url).

Вообще было бы идеально зарегистрировать один компонент с одним GUIDом и несколькими контрактами, а в фабрике в зависимости от контракта создавать разные источники. Но так как до фабрики объектов createInstance доходит только нужный интерфейс(nsIRDFDataSource) и GUID компоненты(это действительно так?) -  остаётся создавать конкретный источник только по cid. Это, конечно, немного не удобно.. Или, может, я просто неправильно понял вопрос? :rolleyes:

И еще. Если добавлять свой метод в интерфейс - придётся idl к нему писать, а потом его еще и компилировать в xpt..

Разработка » Источники данных с "коротким" именем » 31-01-2006 16:08:54

Anton пишет

Кстати, спасибо. Мне такой примерчик нужен был.

Не за что :)

Довёл компонент до ума. Теперь можно определять несколько встроенных источников через один модуль.

nsCustomDatasouces.js:
[code]const CUSTOMDATASOURCE_IID = Components.interfaces.nsIRDFDataSource;

// контракты
var aContractsID = new Array(
            '@mozilla.org/rdf/datasource;1?name=adsk-users',
            '@mozilla.org/rdf/datasource;1?name=adsk-test'
            );

// id компонентов
var aCID = new Array(
        Components.ID('{1da0cb45-aea3-4a52-8b29-01429a542863}'),
        Components.ID('{1da1cb45-aea3-4a52-8b29-01429a542863}')
        );

// uri источников данных
var aURI = new Array(
        'http://localhost/rdfTest.php',
        'http://localhost/test.rdf'
        );

/*  Поиск в массиве */
function findCID(cid)
{
    var i;
    for(i=0; i<aCID.length; i++)
        if(cid.equals(aCID[i]))
            return i;
    return null;
}

/* Проверка наличия в массиве */
function CIDExists(cid)
{
    if(findCID(cid)!=null)
        return true;
    return false;
}

/* модуль */
var nsCustomData

Разработка » Источники данных с "коротким" именем » 31-01-2006 13:28:03

Всё, разобрался, и даже компоненту сделал :D Может пригодиться кому-нибудь..

nsusersdatasource.js:
[code]const USERSDATASOURCE_CONTRACTID = '@mozilla.org/rdf/datasource;1?name=adsk-users';
const USERSDATASOURCE_CID = Components.ID('{1da0cb45-aea3-4a52-8b29-01429a542863}');
const USERSDATASOURCE_IID = Components.interfaces.nsIRDFDataSource;

var nsUsersDataSourceModule = {
    registerSelf: function(compMgr, fileSpec, location, type) {
        compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
        compMgr.registerFactoryLocation(USERSDATASOURCE_CID,
                                        "ADSK users built-in datasource",
                                        USERSDATASOURCE_CONTRACTID,
                                        fileSpec,
                                        location,
                                        type);
    },

    getClassObject: function(compMgr, cid, iid) {
        if (!cid.equals(USERSDATASOURCE_CID))
            throw C

Разработка » Источники данных с "коротким" именем » 31-01-2006 12:08:29

Сложновато :/ А компоненту можно на java-script написать и зарегистрировать? Или обязательно в C++?

А про изменение datasources из js я тоже думал, но короткие имена источников имхо более красивое решение..

Разработка » Источники данных с "коротким" именем » 31-01-2006 11:34:50

Разрабатываю приложение для работы с бд(использую xulrunner 1.8). Есть php скрипты, которые отдают rdf-ки, на основе которых строится интерфейс. Неудобство в том, что приходиться в datasources прописывать полный uri к скрипту, а так как приложение в стадии разработки - эти uri часто меняются. Так же проблемно будет менять хост, с которого получаю данные. Возник вопрос - можно ли создавать свои источники данных с "короткими" именами, такими как "rdf:history", например - "rdf:coolprog-users"? Поиски ничего не дали.. :(

ps. Во всём этом я новичок - просьба сильно не пинать.. ;)

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]