Como forçar um navegador a salvar o conteúdo do campo para mais tarde?

1

Eu uso o Chrome. Em alguns sites parece que se lembra de um imenso número de entradas para diferentes campos. Eu acho muito útil. No entanto, em alguns sites, não funciona tão bem. Um exemplo que está me enlouquecendo está no console da AWS. Ao atualizar uma função do Lambda, eu preciso copiar um arquivo do S3. Existe um campo que requer uma URL muito longa que eu tenho que ir recuperar em outro lugar todas as vezes.

OHTMLdocampoé:

<inputtype="text" autocomplete="on" id="awsui-textfield-5"
class="awsui-textfield awsui-textfield-type-text">

Por causa do autocomplete="on" , eu esperaria que o Chrome fizesse "a coisa certa", mas talvez porque o campo não esteja em <form> , não é.

Quais condições devem ocorrer para que um campo seja salvo?

Eu freqüentemente faço bookmarklets ou userscripts para resolver pequenos aborrecimentos com sites. Eu adoraria fazer isso aqui, mas não sei o que precisa mudar.

Por favor, informe.

    
por Bruno Bronosky 17.03.2017 / 22:48

1 resposta

0

Eu resolvi isso para este caso! Eu acho que a solução provavelmente se aplicará a muitos outros. Fiz um bookmarklet e um bloco de javascript que você pode colar em um console "Ferramentas do desenvolvedor".

var jq_tag=document.createElement('script');
jq_tag.setAttribute('src','//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js');
document.head.appendChild(jq_tag);
setTimeout(function() {
  var tf=$(document.activeElement);
  var ff=$('<form method="post" target="_blank" action="//example.com"><input type="submit" value="Save this field data"></form>');
  tf.after(ff);
  ff.prepend(tf);
}, 2000);

Por design (para torná-lo mais genérico), é necessário que você tenha o cursor no campo de texto em questão. Quando você executa o JS, um botão "Salvar este campo de dados" aparecerá após o campo.

Este é um detalhamento do que está sendo feito linha por linha:

# Create a script tag in memory.
# Make it source jQuery.
# Attach it to do the <head> of the document which begins loading it.
# Barbaric workaround for waiting for the JS to load.
# Get the element that has focus.
# Create a form that will POST to example.com in a new tab.
# Attach the form to the DOM right after the "focused element".
# Detach the "focused element" and reattach it inside the new form element.

Aqui está em ação ...

    
por 18.03.2017 / 00:48