Посещаю иногда страницы наподобие about:config или chrome://global/content/config.xul. Хотелось бы, чтобы эти посещения находили отражение в истории, и чтобы при вводе config в адресной строке эти адреса указывались бы в качестве возможных вариантов. Как можно этого добиться?

А зачем? Не совсем понятно.

igorsub пишет

А зачем? Не совсем понятно.

"Зачем" - как раз понятно. Ну лень человеку каждый раз набивать "about:config" и т.п. А задача, скорее всего, неразрешима, и сделано это абсолютно умышленно и разумно, с тем, как я понимаю, чтобы свести к минимуму вероятность случайного захода на эти страницы. Представьте себе, например - дитё пользователя порезвилось!

luitzen
Может проще в "Закладки" их добавить?

ОК, спасибо всем.

Vladimir_S пишет

сделано это абсолютно умышленно и разумно…

Тогда такой вопрос: где конкретно это сделано?

Иначе говоря, в каком именно файле следует искать строки наподобие if(!isChromeOrAboutURL(url)){addToHistory(url);},
чтобы их оттуда выполоть? :)

Вот что пишут:

canAddURI()

This method checks if the given URI would be added to the history or not. Many types of URIs, such as "chrome:" URIs, are not stored when addURI is called. This function allows you to determine whether it will be or not.

You don't have to worry about calling this, addPageToSession/addURI will always check before actually adding the page.

Так что, правкой какого-нибудь JavaScript не обойтись :(

Я так понял, что canAddURI вызывается внутри addURI, в самом же canAddURI есть такие строки:

Выделить код

Код:

// now check for all bad things
  if (scheme.EqualsLiteral("about") ||
      scheme.EqualsLiteral("imap") ||
      scheme.EqualsLiteral("news") ||
      scheme.EqualsLiteral("mailbox") ||
      scheme.EqualsLiteral("moz-anno") ||
      scheme.EqualsLiteral("view-source") ||
      scheme.EqualsLiteral("chrome") ||
      scheme.EqualsLiteral("data")) {
    *canAdd = PR_FALSE;
    return NS_OK;
  }

Более или менее понятно, что хочется тут изменить.
Но прежде чем учиться to build Firefox from source under Windows XP, хотелось бы узнать, нет ли ещё каких подводных камней в других местах кода. Ну, к примеру, будет вылетать исключение при попытке добавить посещение в 'places.sqlite' (не хватает, мол, инфы, чтобы заполнить такой-то столбец) или ещё чего…
Если подводные камни есть, я бы заранее забросил это дело… :whiteflag:

По моим наблюдениям, добавление в закладки полностью решает задачу в 3.0-3.1. После этого адреса прекрасно вызываются в выпадающем списке адресной строки, как и посещенные адреса.

12-01-2009 04:11:02
Извините, что я с грубой реальностью после ваших высших материй.