Pregunta

Estoy haciendo algunas pruebas en las barras de herramientas de Firefox para el bien de aprendizaje y no puedo encontrar ninguna información sobre cómo almacenar el contenido de una "búsqueda" desplegable en el interior del perfil del usuario.

¿Hay algún tutorial sobre cómo resolver esto?

¿Fue útil?

Solución

Dado que se trata de tomar un poco para obtener una respuesta me fui a investigar y a mí mismo.Aquí es lo que tengo ahora.No todo está claro para mí, pero funciona.

Supongamos que usted tiene un <textbox> como esto, en su .xul:

<textbox id="search_with_history" />

Ahora tenemos que añadir algunos otros atributos para habilitar la historia.

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

Esto le da la mínima para habilitar una historia en la que el cuadro de texto.
Por alguna razón, y aquí es donde mi ignorancia muestra, el onTextEntered función de evento tiene que tener el parámetro a es llamado "param".Traté de "evento" y no funcionó.
Pero eso por sí solo no va a hacer el trabajo por sí mismo.Uno tiene que añadir algo de Javascript para ayudar con el trabajo.

// 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);
}

Este es el mínimo absoluto para obtener una historia pasando.

Otros consejos

Gustavo, Yo quería hacer la misma cosa - he encontrado una respuesta aquí en los foros de soporte de Mozilla.(Edición:Quería guardar mi historial de búsqueda de interés, no porque quería aprender cómo el Firefox barras de herramientas de trabajo, como usted dice).

Básicamente, que los datos se almacenan en una base de datos sqlite archivo llamado formhistory.sqlite (en Firefox directorio de perfil).Usted puede usar la extensión de Firefox SQLite Manager para recuperar y exportar los datos: https://addons.mozilla.org/firefox/addon/5817

Se puede exportar como un archivo CSV (valores separados por comas) archivo y abrirlo con Excel u otro software.

Esto tiene el beneficio añadido de que también se ahorra la historia de los datos que has introducido en otras formas o los campos en los sitios, tales como el campo de Búsqueda en Google, etc, si estos datos son de interés para usted.

Gustavo solución es buena, pero documento.getElemenById('search_with_history').valor; falta una 't' en getElementById

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top