2012-05-30 11 views
6

Voglio dire, io uso per avere questo widget:Perché preoccuparsi di creare un widget javascript/jquery puro quando posso caricarlo in un iframe?

<script src="http://www.mywebsite.com/widget/widget.js?type=normal" type="text/javascript"></script> 
<div id="archie-container"></div> 

che controllare se jQuery è sul sito web in hosting; altrimenti lo carica e fa qualche richiesta ajax/jsonp. Come suggerito da questo tutorial.

Bene, ho notato grandi problemi relativi ai genitori CSS, integrare altri plug-in jquery (come il ciclo) e gestire i dati tra questa "interfaccia" e la chiamata ajax.

Perché dovrei farlo quando posso usare un iframe sngle? Ho anche notato che, se carico jquery da widget.js, e (ovviamente) lo inserisco nell'iframe (in modo da poter gestire funzioni separate) la libreria viene presa dalla cache. Quindi non c'è alcun sovraccarico.

È abbastanza buono per voi questo approc? O mi mancano qualcosa?

Ho anche notato che il 90% dei widget (come FB, twitter, ecc.) Utilizza questa strategia (con iframe).

+1

È possibile utilizzare qualsiasi tecnica che funzioni per voi. Tutto dipende da cosa stai facendo. –

risposta

5

Un iframe rimane isolato dal resto della pagina.

Raccomando letto questo: iframes vs ajax

se qualcosa di isolato dal resto della pagina, e semplice andare con iframe. Se il widget interagisce con il resto della pagina, vai su AJAX.

+0

Avete qualche tutorial su "iframe è memorizzato nella cache a causa della libreria dalla pagina host". Non lo sapevo prima ... è per questo che ho sempre pensato di evitare iframe! Ma è bello ... – markzzz

+0

@markzzz: il modo più semplice per risolvere questo problema è aggiungere un parametro di timestamp alla query per garantire che sia univoco. Può anche essere fatto dicendo al browser di non memorizzare nella cache il contenuto nelle intestazioni. –

+0

@dj_segfault: no, infatti voglio la cache :) Non sapevo che questo fosse il comportamento standard ...! Mi piacerebbe leggere di più su questo ... – markzzz

Problemi correlati