Come posso caricare un sito Web nel mio java-script in modo che possa analizzarlo? Voglio ottenere Html di ad es. www.google.com e voglio selezionare tutti i tag in esso utilizzando jquery.Come caricare il codice HTML del sito Web utilizzando jquery
risposta
Non è possibile come jquery non consente di caricare risorse esterne, a meno che nella pagina che si desidera analizzare è presente l'intestazione:
header('Access-Control-Allow-Origin: http://thesitewhereyourjscodeishosted');
Se non è possibile impostare, si potrebbe l'uso di PHP:
<script>
var website = <?php echo file_get_contents("http://websitetoload"); ?>;
</script>
a causa di restrizioni di sicurezza del browser, richieste Ajax sono sottoposti alla stessa politica di origine; la richiesta non può recuperare correttamente i dati da un dominio, sottodominio, porta o protocollo diversi.
Ma è possibile creare uno script sul server che richiede quel contenuto o può utilizzare un proxy, quindi utilizzare jQuery
ajax
per colpire lo script sul server.
E 'solo il proxy una richiesta attraverso i server di Yahoo e tornare una risposta JSONP
anche se il server richiesto non supporta JSONP
.
HTML:
<div id="example"></div>
JavaScript
$('#example').load('http://wikipedia.org');
Ecco una domanda simile come la tua Ways to circumvent the same-origin policy?
buona fortuna!
È possibile configurare facilmente il server nodo che ottiene il contenuto della pagina, quindi effettuare una richiesta Ajax sul server e ottenere tutti i dati necessari.
Non è possibile eseguire questa operazione in Javascript a causa della politica della stessa origine di AJAX. – Barmar