0

我开发了一个在 Chrome、FireFox 和更新的 IE 中运行的 WebApp。大多数功能在 IE8 中不起作用。

用户输入邮政编码,地图会缩放到邮政编码,显示相关的送货路线,并用路线中的所需数据填写表格。

在 IE8 中,地图不会缩放到路线的范围,也不会填满表格。这是我的代码,应该放大到邮政编码的特征:

函数 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> &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;
},

我很卡住,不知道要解决什么。谢谢你的帮助!

4

2 回答 2

1

除了使用 dojo 库将内容添加到具有详细信息 ID 的 html 对象之外,您还可以自己执行以下操作:

var element=document.getElementById('details');
element.innerHTML = content

查看此站点以获取更多信息,请注意该站点显示 IE 支持此功能 http://www.w3schools.com/jsref/prop_html_innerhtml.asp

于 2013-07-24T22:33:21.473 回答
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

于 2013-07-11T08:55:23.590 回答