Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

String em JavaScript

Com o comando: document.documentElement.innerHTML; posso pegar todo html de uma página e passar para uma variável, mas posso, passar através de um link?

É possível, por exemplo, criar um form para receber um link de uma página e partir desse link transformar todo o html da página em string e passar para uma variável?

4 respostas
solução!

Com JavaScript puro fica meio verboso, mas pra pegar todo o centeúdo de uma outro página tem quer se por ajax, ficaria mais ou menos assim:

    var xhr = new XMLHttpRequest();
      xhr.open("GET", "http://digitaaquiseusite");
      xhr.addEventListener("load", function() {
        var resposta = xhr.responseText;
    });
    xhr.send();

na variável reposta vai estar todo o centeúdo html.

Mas tome cuidado com o CORS, tem sites que impedem requisições de outros domínios afim de evitar fraudes, então se caso você não tenha sucesso ao tentar pegar o conteúdo de uma outra página, é bem provável que o CORS está ativado

Thamirys você consegue fazer isso através de funções no javascript, vamos ao exemplo:

function pegarHTML(event) {
    event.preventDefault();
    const HTML = document.documentElement.innerHTML;
    // fazer qualquer coisa com a variável...
}

<a onclick="pegarHTML(event);">Pegar HTML</a>

Espero ter ajudado.

Ok, mas minha dúvida é em relação ao input. Colocando o link no input posso pegar o html de qualquer link que digitar com javascript?

Para digitar um link em uma input, e quando clicar no botão ele buscar o conteúdo do link digitado, vai ter que trabalhar com Ajax assim como nosso amigo Christian deu o exemplo.