1

Web サイトの「Stratus 2」Web プレーヤーに問題があります。「Jquery」をダウンロードしてパブリックフォルダーに入れました。jquery.jsという名前です

次に、body タグの直前に次のコードを追加しました。

<html class="html">
<head>

<script type="text/javascript">
   if(typeof Muse == "undefined") window.Muse = {}; window.Muse.assets = {"required":["jquery-1.8.3.min.js", "museutils.js", "jquery.scrolleffects.js", "jquery.musepolyfill.bgsize.js", "jquery.watch.js", "webpro.js", "musewpslideshow.js", "jquery.museoverlay.js", "touchswipe.js", "index.css"], "outOfDate":[]};
</script>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://stratus.sc/stratus.js"></script>
<script type="text/javascript">
  $(document).ready(function(){
    $.stratus({
      download: false,
      align: 'top',
      user:false,
      color:'E8C58B',
      links: 'https://soundcloud.com/man-in-a-loft-downtown/sets/the-latest'
    });
  });
</script>

ヘッドタグにもコードを入力してみました。プレイヤーは表示されません。何かご意見は?

コンソールにこのエラーが表示されます

$.stratus is not a function

しかし、stratus.js ファイルが読み込まれたことがわかります。

完全なヘッドコード: http://shrib.com/aA2V6JqX

ご覧になり、適宜編集してください。

4

2 に答える 2

2

私はあなたのサイトをいじり回した後、今あなたの音楽プレーヤーを聴いています。いいですね!

2 つの異なるバージョンの jQuery をロードしています。

// version 1.8.3
window.Muse.assets = {"required":["jquery-1.8.3.min.js", "museutils.js", "jquery.scrolleffects.js", "jquery.musepolyfill.bgsize.js", "jquery.watch.js", "webpro.js", "musewpslideshow.js", "jquery.museoverlay.js", "touchswipe.js", "index.css"], "outOfDate":[]};

そして1.7.2

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

生成された HTML を調べると、Stratus プラグインが読み込まれた後に Muse が jQuery を読み込み、上書きしていることがわかります。

Muse がロードする jQuery がロードされるまで待機するのは、悪いが有効な解決策ですが、それを検出する簡単な方法がわからないので、ビジー状態で待つだけでかまいません。1.7.2 をロードする行を削除し、初期化スクリプトを次のように変更します。

function checkjQuery() {
    if (window.jQuery) {
      $.getScript( "http://stratus.sc/stratus.js", function() {
        $.stratus({
          download: false,
          align: 'top',
          user:false,
          color:'E8C58B',
          links: 'https://soundcloud.com/man-in-a-loft-downtown/sets/the-latest'
        });
      });
    } else {
      setTimeout(checkjQuery, 10);
    }
}
checkjQuery();
于 2014-08-14T12:59:27.883 に答える