2014-09-28 7 views
3

텍스트 영역이 포함 된 페이지가 있습니다. 사용자는 그 안에 mathML을 입력 할 것이며, 사용자가 출력 버튼을 클릭하면 MathML을 렌더링하고 텍스트 영역 아래에 표시해야합니다. 그러나 렌더링은 일어나지 않습니다. Textarea는 렌더링을 위해 하나 이상의 mathml 코드를 포함 할 수 있습니다.MathML이 렌더링되지 않고 텍스트 영역 아래에 표시됩니다.

아래 코드는 제가 사용한 코드입니다.

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <script type="text/javascript" src="file:/P:/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 
</head> 
<body> 
     <h3>MathML Previewer</h3> 

     Paste your MathML:<br> 
      <textarea id="myMath" style="resize: none; height:250px; width:850px"> 
     </textarea> 

      <button type="button" onclick="myclear()">Reset</button> 
      <p>Click the button to get output</p> 
      <button type="button" onclick="myFunction()">Output</button> 
      <div id="demo"> 
      </div> 

      </div> 
      <script> 
       function myFunction() { 

       var x = document.getElementById("myMath").value; 
       document.getElementById("demo").innerHTML = x; 
       } 
      </script> 
      <script> 
       function myclear() { 
       var x = document.getElementById("myMath").value =' '; 
       //document.getElementById("demo").innerHTML = x; 

       } 
      </script> 

    </body> 
</html> 
+0

'file' scheme을 사용하여 해당 페이지를 실행합니까? – Oriol

+0

예 저는 언급했지만 실행되지는 않았지만 렌더링은 일어나지 않았습니다. –

+0

어떤 결과물을 찾으십니까? 귀하의 코드를 테스트했을 때 정상적으로 작동하는 것처럼 보였습니다. Firefox와 Safari 만 검색하면 MathML을 올바르게 렌더링 할 수 있으며 IE, Firefox 및 Chrome에서 코드를 테스트하는 내 컴퓨터에서 Firefox가 올바르게 렌더링됩니다. – peterjb

답변

2

MathJax는 클라이언트 측 스크립팅으로 변경 될 때마다 페이지를 처리해야합니다.

MathJax.Hub.Typeset(); 

더 경제적 단일 요소 인해 사용 코드만을 처리 대상 :

함수 myFunction 끝에 여기서, 변경을 수행하는 코드 이후에 다음을 추가, 이러한 처리를 요청하는 방법
MathJax.Hub.Typeset("demo"); 

MathJax 설명서, Modifying Math on the Page을 참조하십시오.

+0

네임 스페이스가 없으므로 잘 작동하지만 m : 및/또는 mml과 같은 네임 스페이스를 포함하면 렌더링이 수행되지 않습니다. –

+0

네임 스페이스를 올바르게 처리하려면 '' 태그로 선언해야합니다. 예 : ' 'm :'과'mml :'을 모두 처리하려면, 양쪽 모두를 namsepaces로 추가하십시오. –

+0

태그에 네임 스페이스 선언을 추가했지만 아직 렌더링이 일어나지 않습니다. –

관련 문제