7

おはようございます、私はこの状況にあります:

私はWordpressを使用しており、アフィリエイト用のアフィリエイトボックスを作成しようとしています。私はそれを動的に作成しました、そしてあなたはここで1つの例を見ることができます

ボックスを作成するための値は$_GETで渡され、ボックスはテンプレートページのthe_content()の前に呼び出されるphp関数によって作成されます。

ページを直接ロードする場合、ボックスは正常に機能します。

しかし、私はその特定のdivを別のページにロードしようとしています。テストのために、同じドメインのページにロードしようとしています。

テストのページはこちら

次のように、読み込みにjQuery load()関数を使用しています。

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

残念ながら、divには何もロードされません。ページを直接ロードしようとしましたが、この場合もアフィリエイトボックスがロードされていないにもかかわらず、正しくロードされます。

また、load()関数は他のドメインでは機能しないため、その移植性が必要であることも読みました。どうすればこの問題を解決できますか?

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

解決しました。ボックスがドメイン内に読み込まれます。問題は、どうすれば別のドメインにロードできるかということです。

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

私がこれを置くことを解決したみんな:

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

ボックスを作成するドメインのheader.phpファイルへ。それは完璧に動作します!

4

2 に答える 2

5

iframeを使ってみませんか?通常、ページに広告を表示するために使用されます。

<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');     
});
于 2012-12-19T15:55:49.680 に答える
0

誰もがこの問題を抱えている場合は、次の解決策に従ってください。

このコードを、ロードする必要のあるドメインであるドメインテンプレートのheader.phpに配置します。

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

load()jQuery関数は、信頼できるWebサイトとして認識し、ボックスをロードします。それは完全に機能しています!

すべてのドメインを許可せず、一部のみを許可する場合は、「*」の代わりに、ボックスの取得を許可するドメインのリンクを記述できます。

于 2012-12-20T08:28:38.053 に答える