처리 스크립트로 데이터를 보내려고합니다. 그러나 아래의 변수 pjs는 캔버스 "competence1"에 바인드되어 첫 번째 if 문을 입력하지만 bindJavascript (this) -call은 오류를 반환하지만 파이어 폭스에서만 반환됩니다. (크롬에서 완벽하게 작동) :Processing.js가 파이어 폭스에서 외부 JavaScript 바인딩을 허용하지 않습니다.
[pjs.bindJavascript가 아닌 함수]
var bound = false;
function initProcessing(){
var pjs = Processing.getInstanceById('competence1');
if (pjs != null) {
// Calling the processing code method
pjs.bindJavascript(this);
bound = true;
//Do some work
}
if(!bound) setTimeout(initProcessing, 250);
}
환경 : 맥 OS X - 사자; OBS! bindJavascript (this) - 메서드가 캔버스 태그에로드 된 pde 스크립트에 있습니다.
JS가 한 스레드에서 작동하므로 JS가 파이어 폭스에서 바인드한다고 가정 할 때 시간에 따라 다른 값을 가지므로 내 문제의 해결책을 발견했습니다. setTimeout 함수는 firefox가 위의 설정으로 안정적으로 크롬을 사용한다고 가정 할 때마다 firefox가 올바르게 바인딩 될 때까지 약 2000ms가 필요하기 때문에 파이어 폭스의 작동이 훨씬 효율적이지 않다고 결론 지을 수 있습니다. –