2016-07-22 5 views
0

私は問題なく動作するページに移動すると、htmlのaudiosタグのスタイルを変更するためのスクリプトaudiojsを持っていますが、divをリロードするボタンをクリックするとdivにはaudioタグが含まれています)jQueryを使用してdivをロードした後にスクリプトを取得しようとしましたが、ブラウザが停止する原因となったスクリプトが何度も読み込まれます。divをajaxでロードした後にスクリプトが実行されない

これは私が解決策はもう一回この関数を呼び出すしないようにしたい

audiojs.events.ready(function() { 
    audiojs.createAll(); 
}); 

audiojsを呼び出すための機能である、感謝

+0

あなたはdiv要素を「リロード」ならば、あなたはあなたが行った変更を失うので、あなたは – dandavis

答えて

0

みんなありがとうを、私はクラスaudiojsを削除するには、このコードを追加し、私は解決策を見つけた

Ajaxでのdivをロードした後、

$("audio").removeClass("audiojs");

0

は再するためのスクリプトを新しいscriptタグを追加してみてくださいあなたのコード内-load以下のようなもの:

<script language="text/javascript"> 
 
    function audiojs() 
 
    { 
 
     var div= document.getElementsByTagName('head')[0]; 
 
     var script= document.createElement('script'); 
 
     script.type= 'text/javascript'; 
 
     script.src= 'audiojs.js'; 
 
     div.appendChild(script); 
 
    } 
 
    audiojs(); 
 
</script>

あなたは今、いくつかのアイデアを得ることを願っています。キャッシングもチェックしてください。

+0

を行う場合はリロードまたは再適用されません。どちらかと思います問題はスクリプトタグからではない、私はこの関数audiojs.createAll()から来ていると思うので、この関数も実行中か否かを調べるif文が必要です。 https://kolber.github.io/audiojs/docs/ TAHNKS –

0

audio.jsライブラリへのリンクなしで知るのは難しいですが、ほとんどのAPIやライブラリは、ロードされていることを示すものです。声明のようなものを作成する場合、私は使用します。

(function() { 
function checkForLoaded(){ 
    if (audiojs.state !== null) { //or something similar 
     audiojs.createAll(); 
    } 
} 
})(); 
+0

申し訳ありませんが、このライブラリは状態を取得する関数を使用しません。これはライブラリhttpsのドキュメントです://kolber.github.io/audiojs/docs/、よろしくお願いします –

関連する問題