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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№105-02-2010 21:37:48

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49
UA: Chrome 5.0

Как сделать свою about:page ?

У меня такой вопрос... Делаю расширения для работы.. для узкого круга людей.. И там есть у нас пару документов, которые должны быть под рукой... Доступа к хостингу у меня нет, и выкладывать на сервер рабочий я не могу... было бы очень удобно, если бы я где-то в расширении сохранил эти документы. и они был открывались по ссылке из расширения с таким красивым заголовком как допустим: about:reference и т.д.


заранее спасибо.

Отсутствует

 

№206-02-2010 14:33:54

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771
UA: Firefox 3.6

Re: Как сделать свою about:page ?

Разбери расширение добавляющее свой about и делай по аналогии.


Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.

Отсутствует

 

№306-02-2010 15:38:04

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Как сделать свою about:page ?

Вот тут: https://developer.mozilla.org/en/Code_s … ol_handler есть пример реализации about:mystuff


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№406-02-2010 18:00:08

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49
UA: Chrome 5.0

Re: Как сделать свою about:page ?

Anton
Не подскажите, как этот пример внедрить? там просто сами функции? А где и как их надо вызвать?

Отсутствует

 

№506-02-2010 18:26:01

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Как сделать свою about:page ?

Innuend0
Сохранить в .js файл и положить в папку components расширения.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№606-02-2010 19:23:50

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49
UA: Chrome 5.0

Re: Как сделать свою about:page ?

странно..я просто увидел в примере 2 функции... и думал их надо вызвать... как-бы инициализирвоать эту about:mystuff

Отсутствует

 

№706-02-2010 19:47:08

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Как сделать свою about:page ?

Там автоматически вызывается функция NSGetModule.
https://developer.mozilla.org/en/How_to … Javascript

When the application registers the component, this function
is called.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№806-02-2010 22:43:00

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Как сделать свою about:page ?

Innuend0

Не подскажите, как этот пример внедрить? там просто сами функции? А где и как их надо вызвать?

Сохранить в .js файл и положить в папку components расширения. (c)

Предварительно надо прописать в строку

Выделить код

Код:

classID: Components.ID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),

свежесгенерированный uuid (сгенерировать можно например здесь: http://www.somacon.com/p113.php)
и указать в строке

Выделить код

Код:

var channel = ios.newChannel("chrome://mystuff/content/mystuff.xul", null, null);

адрес своей страницы.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№907-02-2010 00:01:24

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49
UA: Chrome 5.0

Re: Как сделать свою about:page ?

Infocatcher
Спасибо, ясно.
Anton
Cпасибо

>> про адрес понятно. заметил.
А UUID можно новый, или тот же, что и в моём расширении?

Отсутствует

 

№1007-02-2010 00:38:36

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Как сделать свою about:page ?

А UUID можно новый, или тот же, что и в моём расширении?

Лучше новый.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1107-02-2010 18:01:27

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49
UA: Chrome 5.0

Re: Как сделать свою about:page ?

Не получается изменить код, чтоб 2-3 таких странички сделать...

Отсутствует

 

№1207-02-2010 20:20:49

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Как сделать свою about:page ?

Innuend0 пишет

Не получается изменить код, чтоб 2-3 таких странички сделать...

Как-то так, наверное (вроде, XPCOMUtils.jsm такое позволяет):

Выделить код

Код:

function MyAboutHandler(pathPart, desc, cid) {
    this.pathPart = pathPart;
    this.classDescription = desc;
    this.classID = Components.ID(cid);
    this.contractID = "@mozilla.org/network/protocol/about;1?what=" + pathPart;
}

MyAboutHandler.prototype = {
    newChannel : function(aURI) {
        if(aURI.spec != "about:" + this.pathPart)
            return null;
        var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
        var channel = ios.newChannel("chrome://myextension/content/" + this.pathPart + ".xul", null, null);
        channel.originalURI = aURI;
        return channel;
    },
    getURIFlags: function(aURI) {
        return Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT;
    },

    QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule])
};

function NSGetModule(aCompMgr, aFileSpec) {
    return XPCOMUtils.generateModule([
        new MyAboutHandler("xxx", "About xxx Page", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
        new MyAboutHandler("yyy", "About yyy Page", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"),
        new MyAboutHandler("zzz", "About zzz Page", "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz")
    ]);
}

Отредактировано Infocatcher (07-02-2010 20:22:18)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№1311-02-2010 17:18:40

Innuend0
Участник
 
Группа: Members
Зарегистрирован: 02-01-2007
Сообщений: 49
UA: Chrome 5.0

Re: Как сделать свою about:page ?

при попытке открыть about:stuffA пишет:
The URL is not valid and cannot be loaded.

Отсутствует

 

Board footer

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