[英]Javascript “unspecified error” in Open Layers
我在地圖加載時收到此錯誤alt文本http://img239.imageshack.us/img239/6936/jserror.png 。
錯誤發生在此行的原始未修改的OpenLayers.js文件中:
return!!(document.namespaces);
我試過把它重寫為:
return (typeof(document.namespaces) != 'undefined');
並且它工作但我在進一步引用document.namespaces時得到相同的“未指定”錯誤:
if(!document.namespaces.olv){document.namespaces.add("olv",this.xmlns); ...
我嘗試將其重寫為:
if(typeof(document.namespaces.olv) == 'undefined') { ...
但我得到了相同的“未指明的錯誤”。
我只在Internet Explorer上遇到此錯誤(我在7上測試過)而不是在Firefox中。
有線索嗎?
謝謝。
真正的問題是,有時在觸發$(document).ready(因為VML)時,document.namespaces在IE8中還沒有准備好
你可以改用:
jQuery(window).load(function() {} ...);
我找到了解決方案。
問題是我在使用Jquery准備DOM時創建了地圖:
$(document).ready(function(){ ... //create map here [WRONG]
您所要做的就是在onload事件之后創建地圖:
window.onload = function() { ... // create map here [CORRECT]
Internet Explorer的問題在於,當頁面准備好文檔或窗口加載時,該M $瀏覽器還無法確定地圖畫布的尺寸。 如果您想解決此問題,您還可以考慮設置地圖div尺寸:
<div id="map" style="width:250px;height:250px"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.