Белка
Выфер, признавайся: это был ты?
Выфер, признавайся: это был ты?
Жабир в профайле.
Представляет из себя небольшой плагин (пока только под фф) + сервис, на котором, собсно, стикеры лежат.
Развлекайтесь, анонимусы:-)
Задача следующая: нужно отслеживать загрузку страниц в табах и инициализировать в них некоторые переменные.
С первым всё просто. Делаю так:
function init_page (event) {
if (event.originalTarget instanceof HTMLDocument) {
var doc = event.originalTarget;
. . .
}
}
gBrowser.addEventListener('load', init_page, true);
Т.е. загружаем страницу и получаем document. А для того, чтобы инициализировать переменные, нужен window.
Для получения доступа к window текущего таба делаю следующее:
var win = new XPCNativeWrapper(content, "document").window;
Но вот получить window только что загруженного таба не получается. Ни doc.parentWindow, ни махинации с XPCNativeWrapper не помогли.
А завтра какая-нибудь Мадонна посоветует им сделать вдоль.
1) обеспечивается ли каким-нибудь образом целостность данных на уровне самого couchdb?
2) Каким образом генерятся уникальные _id документов при добавлении? Программой, которая использует базу, или это можно делать средствами сабжа?
3) Самый тупой вопрос:-) Каким образом передавать значения, по которым будет осуществляться выборка?
Официальные доки читал, гуглил, но как-то ответов не нашёл.
Собсно, проблема в сабже. Делаю, так:
my $sid = $cgi->cookie('DRWSID') || $cgi->param('DRWSID') || undef;
my $session = CGI::Session->new('driver:file', $sid, {Directory=>'/tmp'});
my $cookie = $cgi->cookie(-name=>'DRWSID', -value=> $session->id);
print $cgi->header(-cookie=>$cookie);
Куку оно получает, в конструктор передаёт ($session->{'_CLAIMED_ID'} тот же, что и в куке), но тем не менее, сессия каждый раз создаётся с новым id.
Собсно, почему так, и как это лечится?
Как сделать так, чтобы переменная была доступна глобально, т.е. во всех модулях, подключаемых к скрипту? Например:
main.pl
#!/usr/bin/perl
our $foo = 1;
use Bar;
. . .
Bar.pm
package Bar;
. . .
print $foo;
Т.е. нужно, чтобы к $foo был напрямую обращаться из Bar.
Можно, конечно, обращаться к ней как $main::foo, но проблема в том, что в mod_perl код выполняется не в main. А надо, чтобы работало везде.
Нашёл в about:config опцию browser.warnOnQuit = false, но она не изменяется. Есть такая опция и в prefs.js, менял и её, но при перезапуске огнелиса значение меняется обратно на false.
Собсно, как заставить файрфокс выплёвывать предупреждение при выходе?
Ноут Acer Extensa 4220, система Debian Sid c ядром 2.6.29-1-686 из репозитория.
| ← назад | следующие → |