Laden Sie das div einer PHP-Seite auf einer anderen Seite in einer anderen Domain

Lesezeit: 2 Minuten

Benutzer-Avatar
Dman88

Guten Morgen, ich habe folgende Situation:

Ich arbeite mit WordPress und versuche, eine Affiliate-Box für unsere Affiliates zu erstellen. Ich habe es dynamisch erstellt und Sie können ein Beispiel sehen hier

Werte für die Erstellung der Box werden mit $_GET übergeben und die Box wird durch eine PHP-Funktion erstellt, die vor the_content() auf der Template-Seite aufgerufen wird.

Die Box, wenn Sie die Seite direkt laden, funktioniert einwandfrei.

Aber ich versuche, dieses spezifische div in eine andere Seite zu laden, und zum Test versuche ich, es in eine Seite meiner gleichen Domäne zu laden.

Die Seite für den Test ist hier

Ich verwende die Funktion jQuery load () zum Laden wie folgt:

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*/});
    });     
});

Leider lädt es nichts in das div. Ich habe versucht, die Seite direkt zu laden, und sie wird korrekt geladen, obwohl auch in diesem Fall meine Affiliate-Box nicht geladen wird.

Ich habe auch gelesen, dass die Funktion load() für andere Domains nicht funktioniert und ich diese Portabilität benötige. Wie kann ich dieses Problem lösen?

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

Ich habe es gelöst, und die Box wird innerhalb meiner Domain geladen. Das Problem ist, wie kann ich es auf eine andere Domain laden?

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

Leute, ich habe beschlossen, dies zu sagen:

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

Zur header.php-Datei der Domain, die die Box erstellt. Es funktioniert perfekt!

Warum nicht ein verwenden iframe? Es wird normalerweise verwendet, um Anzeigen auf einer Seite anzuzeigen.

<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');     
});

  • Ja, ich habe bereits gelernt, Iframes zu verwenden, aber ich bevorzuge es, sie nicht zu verwenden und eine besser aussehende Sache zu machen. IFrames sind im Netz nicht sehr beliebt.

    – Dman88

    19. Dezember 2012 um 16:01 Uhr


  • Ich habe es gelöst, und die Box wird innerhalb meiner Domain geladen. Das Problem ist, wie kann ich es auf eine andere Domain laden?

    – Dman88

    19. Dezember 2012 um 16:38 Uhr

  • Wer sagt iframes sind nicht “gut überlegt”? iframes sind ein absolut legitimes Element. frames sind eine andere Geschichte.

    – Jeff

    19. Dezember 2012 um 16:41 Uhr

Wenn alle dieses Problem haben, folgen Sie dieser Lösung:

Fügen Sie diesen Code in die header.php Ihres Domain-Templates ein, die Domain, die geladen werden soll.

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

Die jQuery-Funktion load() erkennt die Website als vertrauenswürdig und lädt die Box. Es funktioniert perfekt!

Wenn Sie nicht alle Domänen zulassen möchten, sondern nur einige, können Sie anstelle von ‘*’ den Link der Domäne(n) schreiben, die zum Abrufen der Box zugelassen sind.

1380080cookie-checkLaden Sie das div einer PHP-Seite auf einer anderen Seite in einer anderen Domain

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy