4

これを行うためにajaxを使用したくない理由は、更新したい部分が実際には他の人によって実装されたコメントプラグインであるためです。彼らが提供したスクリプトのスニペットをHTMLコードに入れるだけで、記事の下にコメント部分が表示されます。ライブコメントではないので、その横に更新ボタンを追加して、ユーザーがページ全体をリロードすることなく、コメント部分を更新して最新のコメントを取得できるようにします。

したがって、おそらくiframeは私にとっての選択肢だと思います。しかし、問題は、iframeのsrc属性を指定する必要があることです。私が持っているのはスクリプトのスニペットだけなので、どの値を使用すべきかわかりません。誰かが私にこれについて何か考えを与えることができますか?

ちなみに、コードスニペットは次のとおりです。

<div id="uyan_frame"></div>
<script type="text/javascript" id="UYScript" src="http://v1.uyan.cc/js/iframe.js?UYUserId=1674366" async=""></script>
4

3 に答える 3

3

内部で説明したスクリプトを使用してhtmlページを作成し、このファイルをiframesrc属性で使用するだけです。

于 2013-01-25T21:33:34.793 に答える
2

上記のスニペットを次のようなhtmlファイルに入れることができます

<!DOCTYPE html>
<html>
    <body>
         <div id="uyan_frame"></div>
         <script type="text/javascript" id="UYScript" src="http://v1.uyan.cc/js/iframe.js?UYUserId=1674366" async=""></script>
    </body>
</html>

次に、そのファイルをiFrameのsrcとして使用します。これは、javascriptを使用して更新できます。

とはいえ、何かができるからといって、何かをしなければならないという意味ではありません。これは、あなたがやろうとしていることを行うための本当にハッキーな方法です。いくつかの代替オプション:

  1. 使用しているスクリプトが何をしているのかを理解し、それを操作します。 スニペットのスクリプトとdivの名前から判断すると、最初にiframeを作成している可能性があります。その場合は、ブラウザを使用してiFrameが何と呼ばれるかを理解し、デバッグして手動で更新するか、スクリプトを変更してそうするのはなぜですか?

  2. ライブ更新フレームワークを使用する-これはあなたには不可能かもしれません、私はあなたの制約を知りませんが、ライブ更新を行う素晴らしいコメントフレームワークがたくさんあります。たとえば、 Disqusが思い浮かびます。他の例はFacebookのコメントです。または、ブランチなどの外部サイトへの参照を埋め込むことができます。

  3. Ajaxを使用する-これがあなたが書いているスクリプトなのか、サードパーティのスクリプトなのかは少しわかりません。それがスクリプトである場合は、本当に大きな理由がない限り、このタイプの作業を行うために一般的に受け入れられている方法を使用してください。あなたは他の人からより良いサポートを得るでしょう、あなたはより一般的に適用可能な経験を得るでしょう、そしてほとんどの場合、ベストプラクティスは理由のためにその名前を得るでしょう。人々は、効果的で便利なため、ページのライブ更新に「ajax」メソッドを使用します。フレームは不格好で、ページのさまざまな部分が相互作用するのを困難にするため、Web上ではあまり一般的ではなくなりました。一般的な方法を使用しない大きな理由がない場合は、通常、それが最善の策です。

于 2013-01-25T22:26:17.723 に答える
0

あなたはこれを行うことができます:

var iframe = document.getElementById('your_frame_id');
iframe.src = iframe.src;

iframe src を再度その値に設定します。これにより、フレームが更新され、クロスドメイン フレームで動作します。

于 2013-01-25T21:36:22.080 に答える