0

私のプロジェクトでは、

コピーして任意のWebサイトに配置できるコードスニペットを作成しました。他のウェブサイトの私のコンテンツを表示します。

私が今使っているのは:

<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>

page.phpでは、

とに基づいて処理を行いuserage動的コンテンツを表示します。

私のアプローチはうまくいきます。

しかし、そのようなタスクを実行するためのいくつかの優れた標準的な方法を調べると、別の方法が見つかります。

グーグルアドセンスコードの例を見てください。

<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に表示されている可能性があります。

では、質問です。

グーグルのアプローチを使用することの利点は何ですか、そして私のアプローチの何が悪いのですか?

ps私はiframeの使用を避けるように努めるべきだと知っていますが、これを達成する他の方法は見当たりません。

4

2 に答える 2

2

あなたのアプローチとadSenseの主な違いは、広告が表示される場所にコードを配置し、adsenseのようなスクリプトをロードする必要があるということです。ページを調べた後、iframeをDOMに配置できます。

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

および/またはzindexを操作してiframeをページの上にフロートさせる

最後に、iFrameは、好きなcssとjqueryを使用できるので、便利です(「ああ、iframeは邪悪です」と聞こえるかもしれません)。表示しているページにすでにスタイル設定されたdivと古いバージョンのjQueryがある場合は、希望どおりに表示するためにさらに多くの作業が必要になります。

于 2012-04-06T05:25:33.093 に答える
0

なぜiframeを使用するのですか?ユーザーがをロードする<script src='yoursite.com/something.js'></script>と、すぐに彼のDOMにアクセスでき、それを介して好きなことを行うことができますsomething.js。一部のCDNからjQueryをロードするのと同じ方法で、DOMを変更するためにすぐに使用できます。

それ以外の点では、実際には違いはありません。

  1. ユーザーが維持しなければならない潜在的に大量のコードを埋め込む代わりに、ユーザーは必要な変数を提供し、ページ上のスクリプトにリンクするだけです。
  2. サーバー上のjsコードを更新して、すべてのユーザーが新しい機能ですぐに(キャッシュを除いて)最新の状態になっていることを確認できます。

他にも利点があるかもしれませんが、私はこれら2つで十分だと思います。

于 2012-04-05T17:03:30.613 に答える