IE8支持function.bind()方法
<script type = "text/javascript"> if(!function.prototype.bind){function.prototype.bind = function(othis){if(typeof this!== "function"){throw new typeerror( "function.prototype.bind-拘束されようとしているものは縛られない"); } var aargs = array.prototype.slice.call(arguments、1)、ftobind = this、fnop = function(){}、fbound = function(){return ftobind.apply(このinstancefof fnop&othis?this? }; fnop.prototype = this.prototype; fbound.prototype = new fnop(); fboundを返します。 }; } </script>主要解决「百度地图」官网上的例子的バグ、摘取如下代码:
<!Doctype HTML> <HTML> <ヘッド> <メタhttp-equiv = "content-type" content = "text /html; charset = utf-8" /> <meta name = "viewport" content = "initial-scale = 1.0、user-scalable = no" /> <style = "> cs"> cs " 100%;マージン:0; font-family: "微软雅黑";} #allmap {width:100%; height:500px;} p {marve-left:5px; font-size:14px;} </style> <script = "text/javascript" src = "http://api.map.baidu.com/api?v=2.0&ak=39b92e64Ae5622663CECEACD8AB8EB1" src = "http://libs.baidu.com/jquery/1.9.0/jquery.js"> </script> <title>给多个点添加信息窗口</title> <script type = "text/javascript"> if(!function.prototype.bind){function.prototype.bind = functions(othis){thip(the the thip(tipe fhe nef ") typeReror( "function.prototype.bind-拘束されようとしているものは呼ばれません"); } var aargs = array.prototype.slice.call(arguments、1)、ftobind = this、fnop = function(){}、fbound = function(){return ftobind.apply(このinstancefof fnop&othis?this? }; fnop.prototype = this.prototype; fbound.prototype = new fnop(); fboundを返します。 }; } </script> </head> <body> <div id = "allmap"> </div> <p>点击标注点、可查看由纯文本构成的简单型信息窗口</p> </body> </html> <script type = "text/javascript"> // map.centerandzoom(新しいbmap.point(116.417854,39.921988)、15); var data_info = [[116.417854,39.921988、 "地址:北京市东城区王府井大街88号乐天银泰百货八层"]、[116.406605,39.921585、 "地址:北京市东城区东华门大街:"]、[116.412222,39.912345、 " var opts = {width:250、// for(var i = 0; i <data_info.length; i ++){var marker = new bmap.marker(new bmap.point(data_info [i] [0]、data_info [i] [1])); //创建标注var content = data_info [i] [2]; map.addoverlay(マーカー); //将标注添加到地图中marker.addeventlistener( "click"、openinfo.bind(null、content)); } function openinfo(content、e){var p = e.target; var point = new bmap.point(p.getposition()。lng、p.getposition()。lat); var infowindow = new bmap.infowindow(content、opts); //创建信息窗口对象Map.openinfowindow(infowindow、point); //开启信息窗口} </script>