2008-09-23 6 views
0

Я занимаюсь тестированием на панелях инструментов Firefox ради обучения, и я не могу найти информацию о том, как сохранить содержимое раскрывающегося списка «поиск» профиль пользователя.Сохранение истории раскрывающихся списков в панели инструментов Firefox

Есть ли какой-либо учебник о том, как разобраться с этим?

ответ

1

Поскольку я принимаю совсем немного, чтобы получить ответ, я пошел и исследовал его сам. Вот что у меня есть. Не все мне понятно, но это работает.

Давайте предположим, что у вас есть < текстовое поле >, как это, на ваш .xul:

<textbox id="search_with_history" /> 

Теперь вы должны добавить некоторые другие атрибуты, чтобы включить историю.

<textbox id="search_with_history" type="autocomplete" 
    autocompletesearch="form-history" 
    autocompletesearchparam="Search-History-Name" 
    ontextentered="Search_Change(param);" 
    enablehistory="true" 
/> 

Это дает минимальную возможность включить историю в этом текстовом поле.
По какой-то причине, и здесь мое невежество показывает, что функция события onTextEntered должна иметь параметр, называемый «param». Я пробовал «событие», и это не сработало.
Но это само по себе не будет работать. Нужно добавить некоторые Javascript, чтобы помочь с работой.

// This is the interface to store the history 
const HistoryObject = Components.classes["@mozilla.org/satchel/form-history;1"] 
    .getService(
     Components.interfaces.nsIFormHistory2 || Components.interfaces.nsIFormHistory 
    ); 
// The above line was broken into 4 for clearness. 
// If you encounter problems please use only one line. 

// This function is the one called upon the event of pressing <enter> 
// on the text box 
function Search_Change(event) { 
    var terms = document.getElementById('search_with_history').value; 
    HistoryObject.addEntry('Search-History-Name', terms); 
} 

Это абсолютный минимум, чтобы история происходила.

0

Gustavo, Я хотел сделать то же самое - я нашел ответ here на форумах поддержки Mozilla. (Изменить: я хотел сохранить историю поиска из интереса, а не потому, что мне хотелось узнать, как работают панели инструментов Firefox, как вы сказали.)

В принципе, эти данные хранятся в файле базы данных sqlite, называемом formhistory.sqlite (в вашем профиле профиля Firefox). Вы можете использовать расширение SQLite Manager для расширения и экспорта данных: https://addons.mozilla.org/firefox/addon/5817

Вы можете экспортировать его в формате CSV (данные, разделенные запятыми) и открыть его с помощью Excel или другого программного обеспечения.

Это также добавляет преимущества сохранения истории данных, которые вы ввели в другие формы/поля на сайтах, таких как поле поиска в Google и т. Д., Если эти данные вам интересны.

0

Решение Gustavo хорошо, но document.getElemenById ('search_with_history'). Value; отсутствует 't' in getElementById

+0

Спасибо, Джейсон, исправлено. В следующий раз вы могли бы использовать комментарии, а не ответ? – 2009-08-14 01:00:41

 Смежные вопросы

  • Нет связанных вопросов^_^