Oppure

Loading
21/01/11 16:11
a_butta
Ciao a tutti. Stavo pensando di creare un'estensione per chrome che raggruppi news, toolbar e simili da questo sito.
Per fare questo ho utilizzato Ajax con una HttpRequest per ricevere il testo html della pagina, che poi da solo dovrei elaborare. Solo che a quanto sembra "non avrei i permessi", o comunque l'errore dovrebbe essere simile.
Però ho pensato: se io metto un normalissimo IFRAME e lo collego alla pagina di pierotofy, funziona alla perfezione; dov'è la differenza? comunque non sto caricando la pagina, non sto inviando una richiesta del codice?

Dove sto sbagliando?

PS: il codice che ho usato è del tipo:
<script type="text/javascript">
var req = new XMLHttpRequest();
req.open("GET","http://www.pierotofy.it/",true);
req.onreadystatechange = function() {
  if (req.readyState == 4)
    document.getElementById("content").innerHTML = req.responseText;
}
</script>
Ultima modifica effettuata da a_butta 21/01/11 16:11
aaa
21/01/11 17:03
HeDo

sicuramente è un problema di permessi, qual'è il tuo provider?
aaa
21/01/11 18:37
Mte90
io ho provato con questo codice su firefox su un web server in locale e non succede niente, firebug inoltre non mi segnala niente.
      <script type="text/javascript">
   
      var req = new XMLHttpRequest();
  
      req.open("GET","http://www.pierotofy.it/",true);
  
      req.onreadystatechange = function() {
  
        if (req.readyState == 4)
  
          document.getElementById("content").innerHTML = req.responseText;

      }

      </script>
<div id="content"></div>
aaa
21/01/11 18:56
pierotofy
XMLHttpRequests have a built-in security measure denying requests made across domains.


peachpit.com/blogs/…

Devi creare un proxy lato server per ricevere la pagina nel dominio dove la tua app viene eseguita.
Ultima modifica effettuata da pierotofy 21/01/11 18:57
Il mio blog: piero.dev
22/01/11 13:52
a_butta
niente... non riesco a risolvere il problema...
aaa
22/01/11 14:42
Mte90
in una pagina html il codice javascript viene espresso prima e poi il codice html.
Quindi l'ordine è ininfluente.
Inoltre se c'era un errore che non trova content firebug subito mi avrebbe dato un errore.
per me invece non riesce a fare la chiamata per questo non dice niente perchè l'azione che scrive in content avviene solo se riesce a leggere la pagina.
prova a mettere un else che mostra l'errore ottenuto da readystate.
aaa
22/01/11 18:09
a_butta
Postato originariamente da Mte90:

in una pagina html il codice javascript viene espresso prima e poi il codice html.
Quindi l'ordine è ininfluente.
Inoltre se c'era un errore che non trova content firebug subito mi avrebbe dato un errore.
per me invece non riesce a fare la chiamata per questo non dice niente perchè l'azione che scrive in content avviene solo se riesce a leggere la pagina.
prova a mettere un else che mostra l'errore ottenuto da readystate.

:D Ho risolto, e il problema era estremamente banale: nel file "manifest.json" vi erano i permessi da impostare, e io avevo impostato
[...]
permission [
  "http://pierotofy.it/"
]


invece di
[...]
permissions [
  "http://pierotofy.it/"
]


La mia domanda è: in tal modo ho risolto per le estensioni chrome, ma come potrei applicare lo stesso procedimento in script NON server-side (siano esse locali o remote) ma puramente client?

aaa
22/01/11 18:24
web
ovvio che non funziona xD: ajax non funziona con pagine di siti esterni,quindi l'unico metodo è come ha detto pierotofy:pat:
aaa