我遇到了画布问题。如果通过DNS查找(IIS服务)加载html页面,则getContext('2d')调用会出错。如果我用localhost或服务器的ip-address替换地址栏中的服务器名称,则画布正常运行。
http://localhost/prm.html?line=004&dev=009好的
http://SERVER01/prm.html?line=004&dev=009失败
<script language="JavaScript" src="GlobalFunctions.js" type="text/javascript"></script>
<SCRIPT language=JavaScript1.2 >
var sYHistogram = createCanvas( 0 );
writeText('sYHistogram',sYHistogram);
fillGraph( xml, 0 );
function createCanvas( canvasId ) {
var sTable ="<TABLE FRAME=rhs CELLSPACING=0 CELLPADDING=0 BGCOLOR=#004990>";
sTable = sTable + "<TR><TD><canvas id='canvas"+canvasId+"' width='200' height='200' style='background-color:#004990'></canvas></TD>";
sTable = sTable + "</TR></TABLE>";
return(sTable);
}
function writeText( lLayer,sText ) {
document.all[lLayer].innerHTML = sText;
}
function fillGraph( xml, canvasId ) {
var canvas = document.getElementById("canvas"+canvasId);
try {
var ctx = canvas.getContext("2d");
} catch (error) {
alert("error in getContext function "+error);
}
}
我从这段代码得到的错误是:getContext函数中的错误[object Error]
首先在页面中创建画布,然后进行编辑/填充。这样我就可以根据可用的xml数据调整画布大小。
使用服务器名称而不是localhost / ip-address选项有什么区别?
我找到了溶剂,它由两步组成。
我在第一个脚本标记
之前将以下行添加到我的html文件中<meta http-equiv="X-UA-Compatible" content="IE=9">
我将IIS服务器中DefaultAppPool的Process Model Identity设置更改为localService
感谢响应者的帮助。