R Shiny를 사용하여 웹 페이지를 개발하고 있으며 자체 R 코드도 포함하고 있습니다.R Shiny 및 p5.js
웹 페이지에 게임을 표시하기 위해 p5.js (https://p5js.org/)를 사용하고 있습니다.
공식 웹 페이지에서와 같이 HTML과 p5 자바 스크립트 코드가 자바 스크립트 라이브러리와 함께 있다고 말합니다. HTML을 실행하면 오른쪽 클릭하고 크롬을 눌러 표시하면 시작된 예제()가 발생하지 않습니다.
여기에는 HTML 코드입니다 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!--<meta name="viewport" content="width=device-width, initial-scale=1">-->
<script language="javascript" type="text/javascript" src="libraries/p5.js"> </script>
<script language="javascript" type="text/javascript" src="sketch.js"></script>
<!-- this line removes any default padding and style. you might only need one of these values set. -->
<style> body {padding: 0; margin: 0;} </style>
</head>
<body>
</body>
</html>
나는 그것에서 아무것도하지 않는 R-Studio의 코드를 실행, 빛나는에서 동일한 작업을 수행
. 나는 그것이 있어야하고 나는 현재 p5 자바 스크립트 파일에서 경고를 설정했기 때문에 javascript라는 것을 알고 있지만 설정과 그 외의 메소드를 제외하고는 www 폴더에 javascript 파일을 저장했습니다. 문제는 경고가로드 되어도 설치 및 그리기 메소드가 호출되지 않는 것 같고 결과적으로 캔버스가로드되지 않는다는 것입니다. R-Studio에서 동일한 파일을 실행하는 경우 HTML 파일을 직접 실행하는 설정 방법에 경고가 필요하기 때문에 호출되지 않았 음을 알고 있습니다.alert("GOOD1");
function setup() {
alert("GOOD2");
createCanvas(640, 480);
}
function draw() {
if (mouseIsPressed) {fill(0);}
else {fill(255);}
ellipse(mouseX, mouseY, 80, 80);
}
내가
... ,tabItem(tabName = "tabProcessing", htmlOutput("processingMasterThesis") ...
태그 "processingMasterThesis"나는 대응 한에 부착 코드의 다음 줄을 사용 샤이니의 HTML 페이지를로드 : 여기
는 코드 자바 스크립트 P5입니다 server.R에있는 HTML 파일에 대한 URL입니다. 문제가 여기에 없기 때문입니다.
왜 이런 이유가있을 수 있습니까? 브라우저에서 HTML 파일을 직접 불러 오지만 R-Studio에서로드하지 않으면 작동합니다 (이유는 무엇입니까?).
자바 스크립트 콘솔에 오류가 있습니까? –
안녕하세요 @ 케빈 워크맨, 답변 해 주셔서 감사합니다. 웹 페이지를로드하려고하면 경고 메시지가 나타납니다.'메인 스레드의 동기 XMLHttpRequest는 최종 사용자의 경험에 해로운 영향을 미치므로 사용되지 않습니다. 도움이 더 필요하면 https : // xhr.spec.whatwg.org/.'를 확인하십시오. 내 자바 스크립트 파일에서 직접이 요청을 호출하지 않지만 어쩌면 p5js 라이브러리 내부적으로 않습니다. 그것은 문제가 여기에있는 것 같지만, 그렇다면 왜 RStudio에서 웹 페이지를 실행할 때 (실제로 RStudio에서 실행하는 것이 ui.R 파일인지), HTML 파일을로드 할 때이 오류가 발생하지 않습니다. 마우스 오른쪽 버튼으로 클릭? – EaglesAzul
문제를 해결했습니다. 먼저 p5js 파일에서 HTML에서 참조 할 수있는 변수를 만들어야합니다. canvas = createCanvas (640, 480);라고 말하면됩니다. 일단 전역 변수를 선언했다면 부모에게 말해야 만합니다. myCanvas.parent ("divCanvas");라고 말하면됩니다. # UI UI , tags $ body ( tags $ head (tags = $ script (src = "app/libraries/p5.js)"태그는 다음과 같이 코드를 작성해야합니다. ")) 태그 $ head (tags $ script (src ="app/sketch.js ")) , 태그 $ div (id = 'divCanvas') ) – EaglesAzul