我开发了一个可在Chrome,FireFox和更新的IE中运行的WebApp。大多数功能在IE8中不起作用。
用户输入邮政编码,地图缩放到邮政编码,显示相关的投递路线,并用路线中的所需数据填写表格。
在IE8中,地图不会缩放到路径范围,也不会填充表格。 这是我的代码,应该缩放到邮政编码的功能:
function displayResults(results,messages){ var featureset = results [0] .value;
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> <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;
},
我很困惑,无法弄清楚要解决的问题。谢谢你的帮助!
答案 0 :(得分:1)
您可以使用以下内容自行执行此操作,而不是使用dojo库将内容添加到您的html对象中:
var element=document.getElementById('details');
element.innerHTML = content
检查此站点以获取更多信息,请注意该站点显示IE中支持此功能 http://www.w3schools.com/jsref/prop_html_innerhtml.asp
答案 1 :(得分:0)
ArcGIS API for Javascript在IE 8上运行 和dojo在IE 8上运行
但是有一个javascript代码不能直接在IE 8中运行
作为Chrome和firefox
你必须正确编写javascript代码才能在IE 8上运行
并且IE 8无法运行此代码:
dojo.byId('details').innerHTML = content;
此链接可帮助您编写正确的代码以在IE 8上运行
http://msdn.microsoft.com/en-us/library/ie/ms533897(v=vs.85).aspx