IE(PHP):有前端大神吗?求解兼容性问题


问题发生在下拉菜单,php实现

   
  echo "<select name='$file_name_urlencode' onchange='test(this.options[this.selectedIndex].text,{$rowno})'>";
  
echo "<option>启动</option>";
echo "<option>停止</option>";
echo "</select>";

根据不同的选项执行不同的操作,在非IE浏览器中正常,但是在IE中(IE6~10),只能执行一次“启动”,再执行一次“停止”,之后再继续操作就没有效果了。

要不就可用,要不就不可用,这只能用一个来回是怎么回事呢,而且这东西不报错,我连debug都不好使啊.....

已经确认请求已经到达了后台,因为后台已经返回了值,但是返回值之前的那个exec("Linux指令");没有执行,有没有用IE、PHP做个系统管理的大神,为什么php的exec在IE里执行随缘呢? —


每次我都需要完整的清除IE的所有历史记录,然后这个select按钮就又可以用了,真的很费解啊.....

Web开发 php

tascar 10 years, 12 months ago

解决了!下面是我的思路,不一定对,但是确实起作用了

用IE的时候用exec()执行的Linux会被IE缓存起来,所以第一次点击的时候没有问题,但是第二次执行的时候IE就会觉得,疑?刚才不是执行过这个了么,不执行了!但是换成其他浏览器就不会对此进行缓存,写5条相同的指令就执行5次

最后我在php最上面加入了以下代码来取消cache就好了

   
  header('Cache-Control:no-cache,must-revalidate');
  
header('Pragma:no-cache');

最后祝愿IE这个产品早日死掉,操他妈的!

。石杖火铊 answered 10 years, 12 months ago

Your Answer