2012-04-10 3 views
0

블로그에 포함하려는 처리 스케치를 만들었습니다.jQuery의 getScript를 사용하여 processing.js를 실행하는 방법

과 같이 권장되는 방법은 잘 작동 :

난 단지 페이지에 스케치가있는 경우 processingjs를로드 할
<script src="js/libs/processingjs.js"></script> 

, 나는이 사용하는 jQuery의 getScript을 달성하고 싶었다. 그러나이 코드를 실행할 때 :

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
    $(function() { 
     $.getScript('js/libs/processingjs.js'); 
    }); 
</script> 

처리 스케치가 렌더링되지 않습니다. 처리 자체가 실행되기 때문에 콜백이 필요하지 않습니다. 웹 관리자가 파일이로드되었음을 보여 줬지만 스케치가 표시되지 않습니다.

+0

당신은 우리에게 바이올린을 보낼 수 있습니까? –

+0

바이올린에서 작동하지 않을 수 있습니다, 여기에 작동하는 버전입니다 (HTML 스크립트 사용) : http://mikevanrossum.nl/stuff/temp/working.html 그리고 여기는 작동하지 않는 것입니다 (getScript 사용) : http://mikevanrossum.nl/stuff/temp/not-working.html – askmike

답변

0

Flöcsy의 제안이 저에게 효과적이지 않습니다. 내가 스크립트를 아약 (Ajax) 할 때마다 스케치를로드 할 스크립트를 지정해야합니다 (대신 스크립트를 검색하는 대신). 이것은 현재 사용중인 코드입니다.

//processing 
if($('.sketch').length) { 
    $.getScript("processingjs.js", function() { 
     $('.sketch').each(function() { 
      Processing.loadSketchFromSources(this, [$(this).data('processing-sources')]); 
     }); 
    }); 
} 
0

processing.js가 document.ready 뒤에로드 될 수없는 방식으로 빌드 될 수 있습니까? (그런 나쁜 습관의 예제는 document.write를 사용하는 것입니다) 그래서 html에 포함될 때 작동하지만 나중에로드되는 경우에는 작동하지 않습니까? 직접 스크립트 태그를 추가하면 어떻게됩니까?

var script = document.createElement("script"); 
script.src = "/js/libs/processingjs.js"; 
var head = document.getElementsByTagName("head")[0]; 
head.appendChild(script); 
+0

그것도 작동하지 않습니다, 그러나 나는 대답을 찾았습니다. 어떻게 든 처리 기능을 사용하여 직접로드해야합니다. $ .getScript ("processingjs.js"함수() { \t \t \t \t \t $() 각 (함수() { \t \t \t \t \t \t을 '스케치.'. 이것은 내가 지금 무엇을 사용 Processing.loadSketchFromSources (이 [$ (이) .DATA ('프로세싱 소스')]); \t \t \t \t \t}) \t \t \t \t}); – askmike