Pergunta

Eu estou fazendo alguns testes em barras de ferramentas do Firefox para o bem de aprender e não consigo encontrar qualquer informação sobre como armazenar o conteúdo de uma "pesquisa" drop-down dentro do perfil do usuário.

Existe algum tutorial sobre como resolver isso?

Foi útil?

Solução

Uma vez que ele está tomando um pouco para obter uma resposta eu fui e investigá-lo eu mesmo. Aqui está o que eu tenho agora. Nem tudo é claro para mim, mas ele funciona.

Vamos supor que você tem um como esta, em seu .xul:

<textbox id="search_with_history" />

Você agora tem que adicionar alguns outros atributos para permitir história.

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

Isso lhe dá a mínima para permitir uma história em que caixa de texto.
Por alguma razão, e aqui é onde meus shows ignorância, a função de evento onTextEntered tem que ter o param para que chamou de "param". Eu tentei "evento" e não funcionou.
Mas isso por si só não vai fazer o trabalho por si só. Um tem que adicionar algum Javascript para ajudar com o trabalho.

// 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 é o mínimo absoluto para obter uma história acontecendo.

Outras dicas

Gustavo, Eu queria fazer a mesma coisa - eu encontrei uma resposta aqui nos fóruns de suporte da Mozilla. (Edit:. Eu queria salvar meu histórico de pesquisas fora do interesse, não porque eu queria aprender o Firefox barras de ferramentas de trabalho, como você disse)

Basicamente, esses dados são armazenados em um arquivo de banco de dados SQLite chamado formhistory.sqlite (no seu diretório de perfil do Firefox). Você pode usar a extensão do Firefox SQLite Manager para recuperar e exportar os dados: https: //addons.mozilla .org / firefox / addon / 5817

Você pode exportá-lo como um arquivo CSV (valores separados por vírgulas) e abri-lo com o Excel ou outro software.

Isto tem a vantagem de também salvar o histórico de dados que você digitou em outras formas / campos em sites, como o campo de pesquisa no Google, etc, se esses dados são de interesse para você.

A solução de Gustavo é bom, mas document.getElemenById ( 'search_with_history') Valor;. está faltando um 't' em getElementById

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top