0

Ajax 経由でロードされる私のページに、Tripadvisor ウィジェット (rave) を追加しようとしています。ウィジェットのコードは次のとおりです。

<div id="TA_cdsscrollingravewide869" class="TA_cdsscrollingravewide">
    <ul id="1NcDZBZ" class="TA_links 8dTZRew">
    <li id="ZweVlS" class="3cqMCWiB">Read 37 reviews of <a target="_blank" href="http://www.tripadvisor.com/Restaurant_Review-g188590-d946177-Reviews-Bond-Amsterdam_North_Holland_Province.html" onclick="ta.cds.handleTALink($cdsConfig.getMcid()); return true;">Bond</a></li>
    </ul>
    </div>
    <script src="http://www.jscache.com/wejs?wtype=cdsscrollingravewide&amp;uniq=869&amp;locationId=946177&amp;lang=en_US&amp;border=true&amp;shadow=true&amp;backgroundColor=white"></script>

ページが最初にレンダリングされてロードされるときのみ。しかし、ajax のロード後はそうではありません。

jQuery の getScript 関数を使用しようとしましたが、役に立ちません。スクリプトを再度実行する前に、追加されたスクリプト エン リンク ノードをヘッドから手動で削除しても役に立ちません。

誰でもこれを修正するのを手伝ってもらえますか?

4

4 に答える 4

2

おそらく、html iframe はメソッドです。

元。

<iframe src="tripadvisor.php" scrolling="no" frameborder="0"></iframe>

tripadvisor.php

<div id="TA_cdsscrollingravewide869" class="TA_cdsscrollingravewide">
<ul id="1NcDZBZ" class="TA_links 8dTZRew">
<li id="ZweVlS" class="3cqMCWiB">Read 37 reviews of <a target="_blank" href="http://www.tripadvisor.com/Restaurant_Review-g188590-d946177-Reviews-Bond-Amsterdam_North_Holland_Province.html" onclick="ta.cds.handleTALink($cdsConfig.getMcid()); return true;">Bond</a></li>
</ul>
</div>
<script src="http://www.jscache.com/wejs?wtype=cdsscrollingravewide&amp;uniq=869&amp;locationId=946177&amp;lang=en_US&amp;border=true&amp;shadow=true&amp;backgroundColor=white"></script>
于 2015-11-12T03:54:34.747 に答える
2

ソリューション:

$.getScript('//www.tripadvisor.fr/WidgetEmbed-selfserveprop?nreviews=6&uniq=&iswide=true&locationId=' + tid + '&rating=true&popIdx=true&border=false&writereviewlink=true&lang=fr', function() {
    if (typeof(window.taValidate) != 'undefined') {
      window.taValidate();
    }
  });
于 2013-11-21T20:50:21.627 に答える
0

同様のシナリオで採用しなければならなかった最適なソリューションとはかけ離れたものは、次のロジックに基づいていました。

tripavisor スクリプトを 1 回だけ呼び出して、ユーザーがアクセスするページの非表示の html 要素内にウィジェットをロードします (そのため、ページは ajax リクエストによってレンダリングされません)。

ウィジェットを配置するページが ajax によって呼び出され、リクエストが正常に完了した場合は、ウィジェットが既に DOM にあるかどうかを確認し、それを複製して、ajax で生成された html に挿入または追加します。

于 2015-02-03T00:26:06.240 に答える