现象:用VS2012,C#调用百度API进行地图显示
仿真时:有的电脑能正常显示,有的电脑不显示,不显示的电脑上如果直接编辑html文件也有时能显示,但同样的代码写到aspx文件中就不显示了
发布到服务器上:客户端电脑都要用IE先进入一下网站,IE显示出来了以后再用其他浏览器就都显示了
搜狗浏览器不能显示,360,QQ,世界之窗,UC都能正常显示
解决方法:.aspx文件最上面都有<!DOCTYPE html>,
<!DOCTYPE> 声明
Web 世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。
HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面。这就是 <!DOCTYPE> 的用处。
<!DOCTYPE> 不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的。
<!DOCTYPE html>代表最新的html5格式,如果有这句话,则浏览器都会按html5格式去解析,如果有的内容不是标准的html5格式,浏览器就会解析错误了。
结论:可能百度api中有不完全符合html5标准的语句,所以会在有的浏览器中显示不了,或者VS2012也有什么地方处理不对,所以把<!DOCTYPE html>去掉就什么都解决了特别鸣谢张工发现此问题!