2012-04-05 4 views
0

インラインフレームV/sの外部JS(他のウェブサイトで私のウェブサイトのコンテンツを表示するために)

私がコピーされ、その後、任意のWebサイトに入れることができるコードスニペットを作成しました。他のウェブサイトに自分のコンテンツを表示します。私は今使用しています何

は次のとおりです。page.phpで

<script type='text/javascript'> 
var user = 'abc'; 
var age = '23'; 

document.write('<iframe src="http://www.mysite.com/page.php?user='+ user + '&age=' + age + '" ></iframe'); 
</script> 

私はuserageに基づいて何らかの処理を行うと、動的なコンテンツを表示。

私のアプローチは問題なく動作します。

しかし、このようなタスクを行うための標準的な方法を調べると、私は別の方法を見つけます。

google adsenseコードの例をご覧ください。

<script type='text/javascript'> 
var a = 'somedata'; 
var b = 'someotherdata'; 
</script> 

<script type='text/javascript' src='http://www.google.com/adsenseurl.js'></script> 

abはグローバルなので、私は、推測します。 adsenseurl.jsはそれを使用している必要があり、最終的にiframeに表示している可能性があります。

だから今質問があります。

私のアプローチでは、Googleのアプローチを使用して何が間違っているのですか?

p.s.私はiframeの使用を避けなければならないことは知っていますが、これを達成するための他の方法はありません。

+0

拡張子が偽である可能性があること、またはadsenseバージョンのiframeで別のスクリプトを読み込み、一部のサーバープロセスが実行されることを除いて、違いはありません。 – mplungjan

+0

@mplungjan google adsenseがjsファイルにリンクしています。だからあなたはGoogleのバージョンに有利な何かを持っていない。私は自分のコードを守るべきです。右 ? – Jashwant

+0

@mplungjan答えとして両方の提案を書くことができるので、回答としてマークすることができますか? – Jashwant

答えて

2

あなたのアプローチとアドセンスの主な違いは、私の意見では、あなたのコードは広告を表示し、adsenseのようなスクリプトをロードする場所に配置しなければならないということです。

var myIframe = document.createElement('iframe'); 
. 
. 
someDOMObject.appendChild(myIframe); 

および/またはページ

上のiframeをフロートするのZIndexを操作する最後のiFrameは(関係なく、 - あなたが聞くことがあり、「ああのNOEのiframeは悪です」)に有用であるあなたが任意のCSSを使用することができますので、あなたが好きなjquery。あなたが既に存在するページにdivのスタイルやjQueryの古いバージョンがある場合は、望み通りに見せるためにもっと多くの作業が必要になります。

+0

ありがとうございます。 +1は '彼らはページを調べた後にDOMにiframeを置くことができます'。これがGoogle戦略の背後にある理由かもしれません。彼らは違法なクリックや他のもののための十字チェックをたくさんするかもしれない。 – Jashwant

0

なぜiframeを使用しますか?ユーザーが<script src='yoursite.com/something.js'></script>を読み込んだ場合、すぐに彼のDOMにアクセスすることができます。その場合、something.jsで任意の操作を行うことができます。いくつかのCDNからjQueryをロードするのと同じ方法で、すぐにDOMを変更することができます。

は、それ以外の場合は本当にその以外には違いありません:

  1. 代わりに、ユーザーが、彼はちょうど必要な変数を提供し維持しなければならないし、単にあなたのページのスクリプトへのリンクコードの潜在的に大きな金額を埋め込みます。
  2. サーバーのjsコードを更新して、すべてユーザーが新しい機能をすぐに(マイナスキャッシング)できることを確認できます。

他の利点があるかもしれませんが、これらの2つで十分です。

+0

Iframeでは柔軟性が得られます。私は私のpage.phpにcssとjsコードを持っています。 – Jashwant

+0

@ジャシュワント:あなたが本当にしたい場合でも、あなたの例のようにiFrameを作成することはできます。ユーザーのページの先頭にあるスクリプトブロック内ではなく、サーバー上のスクリプトで行うだけです。上記の利点はOlegによってリストされています。あなたが言うように、これはGoogleがやっていることかもしれません。 – Stefan

+0

@ジャシュワント:iFrameではなく、jQuery ajaxを使用して、サイトのHTMLをユーザーのページのdivに読み込むことができます。それで、サーバ上のスタイルとスクリプトで定義されたcssとjを、$ .getScript()を使って独自のサイト要素に適用することができます。 – Stefan

関連する問題