2014-06-21 6 views
-2

Jules Gravinese (http://www.webveteran.com/)의 코드를 기반으로 script.aculo.us 'sound.js (http://script.aculo.us)의 일부인 jQuery 사운드 플러그인 (플래시 없음)을 온라인에서 찾았습니다.HTML에 자바 스크립트 포함

이 작동하지 않습니다

<script type="text/javascript" src="/data/js/sound.js"></script> 

작품 :

<? include($_SERVER['DOCUMENT_ROOT']."/data/js/sound.js");?> 
변경해야 무엇 때문에 내 test.php는 정상과 방법을 포함 작동

? 왜이 스크립트는 쿼리/1.4.2/jquery.min.js 함께 작업하지 JQuery와/1.11.1/또는 내 JQuery와-2.1.0.min.js

test.php와

<img src="/bilder/flaggen/englisch.png" onclick="$.sound.play('http://translate.google.com/translate_tts?ie=UTF-8&tl=en&q=Test')" style="cursor:hand;cursor:pointer;"> 

<script type="text/javascript" src="/data/js/sound.js"></script> 

이 된 .js 파일에서 태그를 제거 :

sound.js

<script type="text/javascript"> 
    (function($) { 

    $.sound = { 
    tracks: {}, 
    enabled: true, 
    template: function(src) { 
    return '<embed style="height:0" loop="false" src="' + src + '" autostart="true" hidden="true"/>'; 
}, 
play: function(url, options){ 
    if (!this.enabled) 
     return; 
    var settings = $.extend({ 
     url: url, 
     timeout: 2000 
    }, options); 

    if (settings.track) { 
     if (this.tracks[settings.track]) { 
      var current = this.tracks[settings.track]; 
      // TODO check when Stop is avaiable, certainly not on a jQuery object 
      current.Stop && current.Stop(); 
      current.remove(); 
     } 
    } 

    var element = $.browser.msie 
     ? $('<bgsound/>').attr({ 
      src: settings.url, 
      loop: 1, 
      autostart: true 
      }) 
     : $(this.template(settings.url)); 

    element.appendTo("body"); 

    if (settings.track) { 
     this.tracks[settings.track] = element; 
    } 

    if(options){ 
     setTimeout(function() { 
      element.remove(); 
     }, options.timeout) 
    } 

    return element; 
} 
}; 

})(jQuery); 
</script> 
+0

데모 링크를 사용하십시오. – imbondbaby

+0

http://www.lern-online.net/test.php – Grischa

답변

0

, 당신은 필요가 없습니다

<script type="text/javascript">

을 끝

에서 시작

</script>

에서

또한 최신 버전의 업데이트로 인해 JQuery의 최신 버전에서 작동하지 않습니다. 이전 버전의 함수 중 많은 수가 제거되었거나 최신 버전에서 이름이 바뀌 었습니다.

jQuery를 사용하는 모든 스크립트는 특정 버전의 jQuery에 대해 작성되고 테스트됩니다. 때로는 둘 이상의 jQuery 버전에서 작동하며 때때로 특정 버전의 jQuery에서만 작동합니다.

jQuery를 사용하여 호환 가능한 jQuery 버전을 지정하는 것은 스크립트 작성자의 책임입니다. 이 스크립트를 사용하는 사람은 jQuery의 버전을 알아야하고 이해해야하며 스크립트가 제대로 작동하기 위해서는 적절한 버전의 jQuery가있는 적절한 환경을 만들어야합니다.

특정 버전의 jQueryUI는 특정 버전의 코어 jQuery 와만 호환됩니다. 마찬가지로, jQueryUI 플러그인은 jQueryUI와 jQuery의 특정 버전에서만 호환됩니다. 자신의 모든 호환 가능한 버전을 혼용해야합니다.

예를 들어 이것 좀보세요 :

http://jquery.com/upgrade-guide/1.9/

또한 여기에 새로운 JQuery와 1.11 및 2.1의 개요입니다.0

http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/

+0

링크를 가져 주셔서 감사합니다. 그러나 스크립트 태그를 삭제하면 전체 js 코드 (Luke도 편집 가능) – Grischa

+0

"편집을 해주셔서 감사합니다. 이제 완벽하게 작동합니다."- Grischa "그게 뭐죠? ? – imbondbaby

+0

Luke Peterson 편집으로 작동합니다. – Grischa

0

귀하의 첫 번째 예를 들어 작업을 확인하십시오. 파일이 .js 파일에 이미 있기 때문에

+1

편집 해 주셔서 감사합니다. 이제 완벽하게 작동합니다. – Grischa

관련 문제