0

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> &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 に答える