Javascript函数在IE中工作,但在FF,Chrome或Mobile Safari中不起作用
Javascript functions working in IE but not in FF, Chrome, or Mobile Safari
我有一个使用Javascript的HTML页面,它在IE中工作正常,但在Firefox,Chrome或Safari中不太有效。 我的代码动态将数据添加到IE的下拉列表中,但我猜我的语法不太适合FF,Chrome或Safari? 在FF,Chrome,Safari中,下拉框仅显示硬编码值,并且永远不会在前面提到的3个浏览器中更新。 假设我的数组在 FF 或 Chrome 中正确填充,那么我猜我用来将数据添加回下拉框的方法不是按照 FF 或 Chrome 喜欢的方式编写的?
<script type="text/javascript">
dojo.require("esri.map");
dojo.require("esri.tasks.route");
dojo.require("esri.tasks.query");
var dynamicarray = [];
queryTask.execute(query, showResults);
function showResults(results) { //This is where I can add values to dropdown in IE
var featureAttributes;
var addoffices = document.getElementById("Office");
var addrigs = document.getElementById("Rigs");
for (var i = 0, il = results.features.length; i < il; i++) {
featureAttributes = results.features[i].attributes;
for (att in featureAttributes) {
dynamicarray.push(featureAttributes[att]);
if (isNaN(featureAttributes[att])) {
addrigs.options.add(new Option(featureAttributes[att], att));
}
if (isNaN(featureAttributes[att])) {
addoffices.options.add(new Option(featureAttributes[att], att));
}
}
}
}
function officeval() {
d = document.getElementById("Office");
var de = d.options[d.selectedIndex].text;
addStop(de);
}
function addStop(evt) {
var lat;
var lon;
var dar;
for (dar in dynamicarray) {
if (dynamicarray[dar] == evt) {
lon = dynamicarray[dar - 1]; //Get Longitude value
lat = dynamicarray[dar - 2]; //Get Latitude value
var inPoint = new esri.geometry.Point(lon, lat, map.spatialReference);
var stop = map.graphics.add(new esri.Graphic(inPoint, stopSymbol));
routeParams.stops.features.push(stop);
map.graphics.add(new esri.Graphic(new esri.geometry.Point(lon, lat, map.spatialReference), textSymbol));
break;
}
}
}
</script>
From:
<SELECT id="Office" SIZE=0 onchange="officeval()">
<OPTION VALUE="0">
<OPTION VALUE="1"> Some Office
<OPTION VALUE="2"> Warehouse Yard
</SELECT>
它仅适用于Internet Explorer,因为您使用的是不兼容的代码
用:
try {
addrigs.options.add(new Option(featureAttributes[att], att), null); // standards compliant; doesn't work in IE
}
catch(ex) {
addrigs.options.add(new Option(featureAttributes[att], att)) // IE only
}
见 http://www.dzone.com/snippets/htmljavascript-select-list
相关文章:
- Chrome WebKitGetUserMedia
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- 在chrome.tabs.onCreated之后加载HTML页面
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- window.location使用jquery mobile实现chrome跳转
- Chrome Mobile上的网站背景是崎岖不平的
- jQuery click() 在 chrome 和 mobile 中不起作用
- JavaScript 方法在 Mobile Safari 与 Android Chrome 中无法一致执行
- Javascript函数在IE中工作,但在FF,Chrome或Mobile Safari中不起作用
- 真的有什么方法可以通过javascript区分android MOBILE chrome和android TABLET
- 谷歌地图地理编码PHP可以在IE中工作,但不能在Chrome/mobile、Edge或Safari/mobile中工作.
- Javascript——将音频推送到移动设备(mobile Safari和Chrome)
- Kinetic.js javascript不适用于Google Chrome,但适用于Mobile Safari
- HTML5视频只能在移动设备(droid chrome mobile)上点击播放
- jQuery mobile不能在Google Chrome上工作
- JQuery -适用于Firefox,但不适用于Safari, Chrome或Mobile
- 如何在Android平板电脑上保存密码自动登录chrome-mobile网站
- 为什么Chrome for Mobile不重新绘制我的固定标题
- Jquery Mobile 1.4在Chrome浏览器中使用移动设备进行滑动演示