webMathematica 에서 웹페이지의 부분만을 업데이트하는 방법은?
 webMathematica 는 웹페이지의 부분만을 다이나믹하게 리로드하기 위해서 여러 단계를 거칩니다. 보통 MSP 파일이 폼을 보내 HTML 코드를 생성시켜 아웃풋을 생성합니다. HTML 코드생성단계에서 웹페이지가 깜박거리곤 합니다. 만약에 웹페이지의 부분만을 업데이트하고 싶다면 자바스크립트를 이용하여 페이지를 업데이트 하실수 있습니다. 이를 위해선 두개의 파일들이 필요합니다: MSP 와 HTML. | 1. | 우선 MSP 파일이 필요한 그래픽 이미지를 생성하도록 만들어야 합니다. 이 방법을 사용할시 리턴되는 이미지는 GIF 이미지이며 캐시에 들어있는 이미지의 레퍼런스가 아닙니다. DisplayString 으로 식을 둘러싸고 MSPReturn 을 실행해 이미지가 리턴되는 것을 확실하게 하여야 합니다. 아래에 간단한 그래프를 생성하는 예제 가 나와 있습니다. |
| | <%Mathlet MSPReturn[DisplayString[MSPBlock[{$$min,
$$max},
MSPShow[Plot[Sin[x], {x, $$min, $$max}], "GIF"],
"image/gif"] %> |
| 2. | HTML 파일에서 MSP 출력을 잡아 GIF 이미지를 교체하는 자바스크립트 작성하셔야 합니다. 아래를 참고하여 주십시요. |
| | <script language="JavaScript">
function showPlot()
{
var a, b;
var q;
var m = "URL to the MSP that generates the output";
a = document.forms.sample.min.value;
b = document.forms.sample.max.value;
q = (m + "?min=" + escape(a) + "&max=" + escape(b));
document.images.default.src = q;
return false;
}
</script> |
| 3. | 디폴트 이미지를 만들어 MSP 에 의해 리턴되는 이미지를 넣을 공간을 확보하셔야 합니다. 디폴트 이미지는 MSP 가 리턴할 이미지와 사이즈가 같아야 합니다. 아래의 예제는 이미지가 HTML 파일과 같은 폴더에 있다고 가정한 경우입니다. |
| | HTML 파일 안에 (여기선 ) 디폴트 이미지를 가르키는 폼과 이미지 tag 이 필요합니다. 아래의 예를 사용하시면 됩니다. |
| | <form action="Sample" name="sample" method="post"
onSubmit="showPlot();return false;">
Enter the minimum and maximum plot range for the Plot:<br>
<br>
<input type="text" name="min" width=5 value="0">Minimum
<br>
<input type="text" name="max" width=5 value="2 Pi">Maximum
<br>
<br>
<input type="button" name="btnSubmit" value="Plot" onClick="showPlot();">
</form>
<br>
<img src="default.gif" NAME="default" BORDER="0"> |
| | 예제가 제대로 작동하는지 확인하시려면 웹브라우저로 HTML 파일을 열어 보십시요. |
Download this FAQ as a Mathematica 5.2 Notebook
Questions or comments? Send email to support@wolfram.com.
| |