2011-12-16 8 views
2

私の問題は以下の通りです:私のパートナーはウェブサイトを持っており、私のサーバのスクリプトにリンクと画像を動的に生成するスクリプトを含めることができます。PHPを使用せずにウェブサイト上の外部PHPスクリプトを呼び出す

すなわち myscript.php(私のサーバー上の)次の出力を生成します。私は私のパートナーは、任意のPHPスクリプトに煩わされたくない

<a href="http://www.myserver.com/apples.php?12345"> 
<img src="http://www.myserver.com/images/12345.png" /> 
</a> 

、今のところそれゆえ最善の解決策は、それらを供給することですiframeで、srcは上の出力を生成するサーバー上のスクリプトへのリンクです。

ただし、パートナーのウェブサイトを管理することはできません。つまり、iframeからライトボックスを開くことはできません。

私は別のアプローチを試みました。私は動的にスクリプトをロードするためにAjaxを使用しましたが、これはajaxセキュリティ機能のためには機能しません(ajax経由で外部スクリプトを呼び出すことはできません - PHPの回避策を行う場合のみ)。

だから基本的に、私の質問は:パートナーのウェブサイト上で私のサーバー私のスクリプトを呼び出すとPHPを使用せずに私のパートナーのウェブサイト上で生成されたコードを表示するために、何か良い解決策はありますか?

答えて

1

あなたのパートナーのページは次のようになります

<?php 
$url = "http://www.myserver.com/apples.php?12345"; 
$img = "http://www.myserver.com/images/12345.png"; 
echo "document.getElementById('divthing').innerHTML = '<a href=\"" . $url . "\"><img src=\"" . $img . "\" /></a> '"; 
?> 

のように、PHPファイルを作成します。

<html> 
<body> 
Hey, check this site out: <div id="divthing"></div> 
<script type="text/javascript" src="http://yoursite.com/script.php"></script> 
</body> 
</html> 

(私が知っている、本当にきれいではないコード(innerHTMLプロパティなど)が、あなたのアイデアを得る必要があります:))

+0

これは実際に私が試みているアプローチです。私はそれを上記のコード(第1の答え)と組み合わせようとしました。私はいくつかのことを考え出すと質問を更新します。ありがとう! :-) – Mike

2

PHPはJavaScriptを生成していますか(コンテンツタイプのヘッダーを忘れないでください)。次に、それに<script>要素を含めることができます。

+0

あなたはリンクと画像がjsコードにあることを意味しますか?どのように私はそれを達成することができますか? – Mike

+0

+1これは、Googleアナリティクス、Facebookの共有/お気に入りのボタン、ツイートボタンなどの「ドロップイン」プラグインで使用される標準です。 – Nicole

+1

@Mike - 'document.write'は一般的です。言い換えれば、あなたのHTMLに "include" と言ってから、 'script.js' urlいくつかの 'document.write'を出力するか、本文や別のものを追加します。 – Nicole

0

javascriptリンクを置き換えたアンカーを置き換える/作成するjavascriptファイルで作成できますか?

picture.js:あなたのパートナーサイトで

$('#image').ready(function(){ 
    var image = 'http://host/url/to/image.jpg'; 
    $('#image').load(image); 
}); 

<div id="image"> 
<script type="text/javascript" src="http://yourhost/picture.js"></script> 
</div> 

私はそれが可能ならば、知っている... :)、これはjQueryのを必要としません。そして、私は遅いです。

+0

申し訳ありませんが、これはできませんが、とにかく感謝します。 ajaxのセキュリティ機能のため、外部リソースを読み込むことはできません。 – Mike

関連する問題