通过DNS查找加载html时,Canvas getContext('2d')错误

时间:2018-01-30 10:49:48

标签: javascript html5 iis canvas dns

我遇到了画布问题。如果通过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

感谢响应者的帮助。

    -

0 个答案:

没有答案