모든 페이지를 다시 검사하려면 MathJax가 필요합니다.MathJax를 불러 오거나 다시 시작하는 방법은 무엇입니까?
페이지를 만들면 모든게 훌륭합니다. 하지만 창을 지나면 그것을 호출해야합니다. 그 동안 내용이 변경되었으므로 페이지를 다시 읽으십시오.
어떻게하면 좋을까요?
모든 페이지를 다시 검사하려면 MathJax가 필요합니다.MathJax를 불러 오거나 다시 시작하는 방법은 무엇입니까?
페이지를 만들면 모든게 훌륭합니다. 하지만 창을 지나면 그것을 호출해야합니다. 그 동안 내용이 변경되었으므로 페이지를 다시 읽으십시오.
어떻게하면 좋을까요?
는 http://docs.mathjax.org/en/latest/typeset.html 참조 :
이 페이지의 나머지 조판 MathJax 후 나타날 수 있습니다 수학 을 포함하는 내용이 이미 가지고있는 동적 웹 페이지 를 작성하는 경우에, 당신 가 MathJax 말할 필요합니다 새로운 컨텐츠가 생성 된 을 다시 페이지에서 수학을 찾으십시오. 을 수행하려면
MathJax.Hub.Typeset()
메서드를 사용해야합니다. 이 다시 페이지 를 통해 실행하는 처리기 (있는 가로드 된 경우)의 원인이됩니다 다음 MathJax 페이지 에 처리되지 않은 수학을 찾아 이미 조판 된 모든 수학을 변경 떠나, 그것을 조판됩니다.그러나이 메소드를 직접 호출하면 안됩니다. 여기
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
데모 : 나는 MathML을 동적 업데이트를 할 수있는 간단한 방법 MathJax을 수 있도록하는 것입니다 발견 http://cdn.mathjax.org/mathjax/latest/test/sample-dynamic.html
[대신한다] 명령 [이를 사용하여, 조판 작업을 대기열 (예 : jQuery .html (s) 함수 대신) 내용을 변경합니다. 그런 다음 내용을 변경하는 동안 수학을 처리합니다.
<script type="text/javascript">
function updateMathContent(s) {
var math = MathJax.Hub.getAllJax("mathdiv")[0];
MathJax.Hub.Queue(["Text", math, s]);
}
</script>
...
<div id="mathdiv">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</math>
</div>
그래서 단지 새로운 MathML을 가진 사업부의 전체 내용을 대체하는 기능을 사용하고 작동합니다. (스크립트가 머리에 들어갑니다.)
참고 : 수학 div가 비어 있고 나중에 MathML을 추가하면 스크립트 오류가 발생합니다. 그러나 updateMathContent에 대한 호출 내부에 수학 태그가 없으면 작동합니다.
[docs] (http://www.mathjax.org/docs/2.0/typeset.html)에 따르면 MathJax가 비동기 적으로 작동하므로 MathJax.Hub.Typeset()을 직접 호출하면 안됩니다. 대신에'MathJax.Hub.Queue ([ "Typeset", MathJax.Hub]);를 호출해야합니다. " –
@AnthonyBatchelor : 동의했습니다. 그 대답을 좀 더 분명하게하기 위해 그 대답을 업데이트했습니다. – thirtydot
미래의 노트 : cdn.mathjax.org의 수명이 다해 가고 있습니다. 마이그레이션 팁은 https://www.mathjax.org/cdn-shutting-down/에서 확인하십시오. –