1

AJAXリクエストとJQueryを使用してコンテンツを動的に取り込むページがあります。コンテンツが読み込まれたら、colorboxのon complete関数を使用して、必要なスクリプトを読み込みます。私がロードしようとしているものの1つは、ShareThisボタンであり、私のマークアップは次のとおりです。

HTML

<span class="st_sharethis_custom"></span>

カラーボックスのonComplete関数の中にこれがあります。

  $.getScript("http://w.sharethis.com/button/buttons.js", function() {});
  var switchTo5x=false;
  stLight.options({publisher: "ur-a4a2b4d1-36da-c1a3-4eee-8eedd1e95feb"});

ライトボックスを実行して[ShareThis]ボタンにカーソルを合わせると、次のエラーが発生します。

stButtons.messageQueueInstanceがnull

これに関する助けをいただければ幸いです。

ありがとう

4

2 に答える 2

4

button.js を 2 回呼び出した可能性があります。1 つはメイン ページに、もう 1 つは ajax ページにあります。stButtons.locateElements()代わりに電話してみることができます。

于 2012-09-11T06:24:58.700 に答える
2

getScriptスクリプトを非同期でロードします。したがって、コードstLight.option()では、スクリプトがロードされる前に呼び出されます。コードを次のように変更してみてください。

$.getScript("http://w.sharethis.com/button/buttons.js", function() {
    var switchTo5x = false;
    stLight.options({publisher: "ur-a4a2b4d1-36da-c1a3-4eee-8eedd1e95feb"});
});

initialisation(stLight.options())これにより、jQueryは呼び出しの完了後に実行するように指示されますgetScript()

于 2012-07-14T08:56:07.163 に答える