2012-12-19 14 views
7

Buongiorno, ho questa situazione:Caricare div di una pagina PHP in un'altra pagina su un altro dominio

sto lavorando con Wordpress e sto cercando di creare una casella di affiliazione per i nostri affiliati. L'ho creato dinamicamente e puoi vedere un esempio here

I valori per la creazione della casella vengono passati con $ _GET e la casella viene creata da una funzione php chiamata before the_content() nella pagina del modello.

La casella, se si carica la pagina direttamente, funziona correttamente.

Ma sto provando a caricare quel div specifico in un'altra pagina e per il test sto provando a caricarlo in una pagina del mio stesso dominio.

La pagina per il test è here

sto usando la funzione di carico jQuery() per il carico, in questo modo:

jQuery(document).ready(function(){ 
    var valore = jQuery('#cm_aff_box_container').text(); 
    jQuery('#cm_aff_box_container').empty().load('http://www.clubmagellano.it/affiliate-box/?value='+valore+' #cm_affiliate_box', function(){/*Other stuff here*/}); 
    });  
}); 

Purtroppo non caricherà nulla nel div. Ho provato a caricare la pagina direttamente e si carica correttamente nonostante il fatto che anche in questo caso la mia casella di affiliazione non viene caricata.

Ho anche letto che la funzione load() non funzionerà per altri domini e ho bisogno di quella portabilità. Come posso risolvere questo problema?

========== UPDATE ===========

ho risolto, e la scatola viene caricato nel mio dominio. Il problema è, come posso caricarlo su un altro dominio?

UPDATE ========== 2.0 ===========

Ragazzi ho risolto mettendo questo:

<?php header("Access-Control-Allow-Origin: *"); ?> 

Per l'intestazione. file php del dominio che crea la scatola. Funziona perfettamente!

risposta

0

Se ognuno sta avendo questo problema seguire questa soluzione:

inserire questo codice al header.php del vostro modello di dominio, il dominio che deve essere caricato.

<?php header("Access-Control-Allow-Origin: *"); ?> 

La funzione load() jQuery riconoscerà il sito Web attendibile e caricherà la casella. Funziona perfettamente!

Se non si desidera consentire tutti i domini ma solo alcuni, anziché "*" è possibile scrivere il collegamento di domini/domini autorizzati a ritirare la casella.

5

Perché non utilizzare uno iframe? In genere viene utilizzato per visualizzare annunci in una pagina.

<iframe id="cm_affiliate_box"></iframe> 

. 
. 
. 

jQuery(document).ready(function(){ 
    jQuery('#cm_affiliate_box').attr('src', 'http://www.clubmagellano.it/affiliate-box/?value='+valore+' #cm_affiliate_box');  
}); 
+0

Sì, ho pensato di utilizzare iframe ma preferisco non usarli e creare una cosa migliore. Gli iframe non sono ben considerati nella rete. – Dman88

+0

Ho risolto, e la scatola è caricata all'interno del mio dominio. Il problema è, come posso caricarlo su un altro dominio? – Dman88

+1

Chi dice che gli iframe non sono "ben considerati"? "Gli iframe sono un elemento perfettamente legittimo da usare. 'frame's sono una storia diversa. – Jeff

Problemi correlati