PDA

View Full Version : [JS][GM] Scaricare una pagina web


legolas93
04-01-2012, 21:49
Se volessi scaricare una pagina web nel mio script GreaseMonkey per poter utilizzare il suo contenuto come potrei fare?


GM_xmlhttpRequest({
method: "GET",
url: "http://www.google.com/",
onload: function(response) {
alert(response.responseText);
}
});




Inserisco questo mini codice nello script. Lo faccio andare e :confused: non succede nulla..neanche la Console Errori mi segna qualcosa..

Avete qualche idea ragazzi? :)

legolas93
05-01-2012, 08:52
:confused:

Stamattina per caso apro il Browser sulla pagina a cui è collegato lo script e funziona tutto :eek: .

Misteri dell'informatica.. :muro:

legolas93
05-01-2012, 10:44
Sono ancora fermo. Non va più questo benedetto metodo. :muro: Ci ho già perso due ore.

// ==UserScript==
// @name Google Test
// @namespace Fantasy Script
// @description Test Comandi
// @include http://www.google.it/
// ==/UserScript==

var sceltaLista = confirm("VUoi scaricare la lista?");

GM_log(sceltaLista);

if (sceltaLista) {
GM_log("Sono dentro all'IF");
GM_xmlhttpRequest({
method: "GET",
url: "http://www.google.it/",
onreadystatechange: function(response){
GM_log(response.readyState);},
onload: function(response) {
GM_log("Ho scaricato la pagina");
alert(response.responseText);}
});
}

function sleep(ms){
ora = new Date();
ora.setTime(new Date().getTime() + ms);
while (new Date().getTime() <= ora.getTime());
}

sleep(5000);

Ho pensato anche che lo script finisse prima che avesse caricato la pagina e quindi creato un metodo sleep.

Ma dal Log sembra proprio che non parte neanche lo scaricamento.

"true
Sono dentro all'IF"

:doh:

legolas93
05-01-2012, 10:54
Ho provato a modificare il programma così:

var sceltaLista = confirm("VUoi scaricare la lista?");

GM_log(sceltaLista);

if (sceltaLista) {
GM_log("Sono dentro all'IF");
GM_xmlhttpRequest({
synchronous: true,
method: "GET",
onerror: function (response){
GM_log(response.status);},
url: "www.google.it/",
onreadystatechange: function(response){
GM_log(response.readyState);},
onload: function(response) {
GM_log("Ho scaricato la pagina");
alert(response.responseText);}
});
}

/*
function sleep(ms){
ora = new Date();
ora.setTime(new Date().getTime() + ms);
while (new Date().getTime() <= ora.getTime());
}

sleep(5000);
*/

Niente da fare. La console non dice un cavolo di niente. Ora mi sorge un dubbio: non è che manca un comando per far partire la connessione?

legolas93
05-01-2012, 11:05
Però se riduco tutto lo script a:

GM_xmlhttpRequest({
method: "GET",
onload: function(response) {
GM_log("Ho scaricato la pagina");
alert(response.responseText);}
});



Mi scarica la pagina e l'alert funziona.. :muro:

EDIT:

se aggiungo il confirm

var scelta = confirm("Vuoi?");

if (scelta) GM_xmlhttpRequest({
method: "GET",
onload: function(response) {
GM_log("Ho scaricato la pagina");
alert(response.responseText);}
});


Non funziona più..Perchè ragazzi?