Javascript 为什么';我的地图在IE8中不起作用吗?

Javascript 为什么';我的地图在IE8中不起作用吗?,javascript,dojo,gis,Javascript,Dojo,Gis,我开发了一个WebApp,它可以在Chrome、FireFox和更新的IE中运行。大部分功能在IE8中都不起作用 用户输入邮政编码,地图将缩放到邮政编码,显示关联的配送路线,并用路线中的所需数据填充表格 在IE8中,地图不会缩放到路线的范围,也不会填充表格。 以下是我的代码,可以缩放到邮政编码的功能: 函数显示结果(结果、消息){ var featureset=结果[0]。值 var simplePolySymbol = new esri.symbol.SimpleFillSymbol(); s

我开发了一个WebApp,它可以在Chrome、FireFox和更新的IE中运行。大部分功能在IE8中都不起作用

用户输入邮政编码,地图将缩放到邮政编码,显示关联的配送路线,并用路线中的所需数据填充表格

在IE8中,地图不会缩放到路线的范围,也不会填充表格。 以下是我的代码,可以缩放到邮政编码的功能:

函数显示结果(结果、消息){ var featureset=结果[0]。值

var simplePolySymbol = new esri.symbol.SimpleFillSymbol();
simplePolySymbol.setOutline(new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0, 96, 170, .75]), 1));

dojo.forEach(featureset.features, function (feature) {
    feature.setSymbol(simplePolySymbol);

    resultsLayer.add(feature);
});

myMap.addLayer(resultsLayer);
myMap.Search.handleStats(results, messages);

var extent = esri.graphicsExtent(featureset.features);
myMap.setExtent(extent, true);
}
这是我的代码,应该用路由数据填充一个表:

myMap.Search = {
gpGetStats: new esri.tasks.Geoprocessor(gpURL),
getRouteStats: function () {
    console.log(dojo.byId('resultsLayer').value);
    var params = {
        "ZIP_CRID": dojo.byId('resultsLayer').value
    };
    resultsLayer.Search.gpGetStats.execute(params, resultsLayer.Search.handleStats);
},

handleStats: function (results, messages) {
    console.log(results);

    var content = '';

    content += '<table>';
    content += '<tr><td> ZIP CRID </td><td> Bus </td><td> Res </td><td> Tot </td><td> &lt;200 </td><td> DS Key </td></tr>';

    dojo.forEach(results[0].value.features, function (crid, i) {
        console.log(crid.attributes.ZIP_CRID + ', ');
        content += '<tr><td>' + crid.attributes.ZIP_CRID;
        content += '</td><td> ' + crid.attributes.BUS_CNT;
        content += '</td><td> ' + crid.attributes.RES_CNT;
        content += '</td><td> ' + crid.attributes.TOT_CNT;
        content += '</td><td> ' + crid.attributes.LT_200_IND;
        content += '</td><td> ' + crid.attributes.DS_KEY + '</td></tr>';
    });
    content += '</table>';
    dojo.byId('details').innerHTML = content;
},
myMap.Search={
gpGetStats:新的esri.tasks.Geoprocessor(gpURL),
getRouteStats:函数(){
log(dojo.byId('resultsLayer').value);
变量参数={
“ZIP_CRID”:dojo.byId('resultsLayer').value
};
resultsLayer.Search.gpGetStats.execute(params,resultsLayer.Search.handleStats);
},
handleStats:功能(结果、消息){
控制台日志(结果);
var内容=“”;
内容+='';
内容+=“ZIP CRID总线Res Tot 200 DS密钥”;
dojo.forEach(结果[0].value.features,函数(crid,i){
log(crid.attributes.ZIP_crid+',');
content+=''+crid.attributes.ZIP\u crid;
内容+=''+crid.attributes.BUS\u CNT;
内容+=''+crid.attributes.RES_CNT;
内容+=''+crid.attributes.TOT;
内容+=''+crid.attributes.LT\u 200\u IND;
content+=''+crid.attributes.DS_KEY+'';
});
内容+='';
dojo.byId('details').innerHTML=content;
},

我被卡住了,不知道该修复什么。谢谢你的帮助!

ArcGIS API for Javascript在IE 8上运行 dojo在IE8上运行

但是有一个javascript代码不能直接在IE8中运行

就像Chrome和firefox一样

您必须正确编写javascript代码才能在IE 8上运行

IE 8无法运行此代码:

dojo.byId('details').innerHTML = content;
此链接可帮助您编写在IE8上运行的正确代码


不用dojo库,而是使用Details ID将内容添加到html对象中,您可以自己使用以下方法来完成此操作:

var element=document.getElementById('details');
element.innerHTML = content
查看此网站了解更多信息,请注意,该网站显示IE支持此功能

这看起来像是一个代码转储,帮助他人自助。只需确认服务器位于安全网络上,因此我不知道该功能是否适用于那些不在我工作地点的人删除innerHTML,这样我的地图就会放大到相关的路由。现在我只需要弄清楚如何让我的表显示出来。