0

現在、サードパーティのコメントプラグインを使用しています。提供されるのは、次のようなスクリプトだけです。

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

これはライブ コメント プラグインではないため、ページ全体をリロードするのではなく、手動でリロードして最新のコメントを表示する更新ボタンを横に追加したいと考えています。ユーザー、私は現在のものを使用する必要があります)。

サードパーティのプラグインなので、あまり制御できません。また、iframe は、この部分的にさわやかなことを達成するための醜い方法だと思います。それで、これを達成する他の方法はありますか?更新ボタンをクリックするたびに、このスクリプトが生成したすべての HTML 要素が消去され、このスクリプト タグが再作成され、適切な場所に追加され、再度実行されますか?

4

3 に答える 3

0

ページ全体を更新せずにコメントを更新する方法をサードパーティに依頼します。彼らはこれを開発しました、そして彼らはそれを簡単にリフレッシュする方法を持たなければなりません。

たとえば、UYComment.refresh(document.getElementById('comment'))

あなたが彼らに尋ねたくないならば、あなたは彼らのjavascriptコードを見ることによってこの種の解決策を見つけるかもしれません。

サードパーティが提供するコード、つまりdivの代わりにajaxを使用したり、iframeを更新したりしないことで回避できますが、私の経験によれば、コードは常に少し面倒になります。

于 2013-02-07T17:52:03.443 に答える
0

遅いので iframe を使用する必要はありません。できることは、div またはセクションを作成し、id またはクラスを指定してから、クリックするとスクリプトを取得し、作成した div またはセクションに適切な html コンテンツを追加するボタンを作成することです。コードを理解しやすくするために、次のようになります。

<section id="content"></section>
<button id="refresher"></button>
<script>

$('#refresher').click(function(){
    //Load your script like so
    $.getScript('url of the script you are trying to get', function(){...})

    //Load your content here
    $('#content').html('Current contents will be erased and will be replaced by whatever you placed here')

    //...or if you need ajax fetching 
    $.ajax({
      url: url,
      success: function(){
        $('#content').html('place your content here and this will erase old content')
      }
    });

})

</script>
于 2013-02-07T16:46:35.177 に答える
-1

jQueryにタグを付けたので、それを使用していると思います。

更新ボタンにクリックハンドラーを追加してから、.html()の例を使用してみてください。$('#uyan_frame')。html('');

.htmlを呼び出すと、呼び出した要素が置き換えられ、渡した文字列内のスクリプトがすべて呼び出されます。免責事項と同様に、これはテストされていません。

于 2013-02-07T16:33:59.097 に答える