我該如何做到這一點?每次我嘗試從Google地圖加載外部JavaScript文件時,它都會使網頁崩潰,並變爲空白。動態加載外部JavaScript文件
我使用了$ JQuery.get();功能。
我正在使用JQuery將文件加載到頭部。
我該如何做到這一點?每次我嘗試從Google地圖加載外部JavaScript文件時,它都會使網頁崩潰,並變爲空白。動態加載外部JavaScript文件
我使用了$ JQuery.get();功能。
我正在使用JQuery將文件加載到頭部。
谷歌地圖可能使用document.write
。這解釋了空白頁。這就是爲什麼document.write
是邪惡的。
嘗試將google js文件下載到磁盤並搜索document.write
。如果它在那裏,那麼你的唯一選擇是通常使用<script>
標籤包含它。
我相信Google Maps API在使用上有一些限制,即使您沒有立即使用它,在加載頁面時也需要鏈接到它。您還需要最初在頁面上擁有目標div(並在其正確的位置),即使它在加載時隱藏。
下面是我在我們的應用程序使用代碼:
<html>
<head>
<title>geocoder test</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
function jsonp(src){
var s = document.createElement("script");
s.charset = "UTF-8";
s.src = encodeURI(src);
s.id = 'jsonp';
document.body.appendChild(s);
return s;
};
function showMap(json){
var mapCanvas = document.getElementById('map_canvas'),
jsonp = document.getElementById('jsonp');
if(json.Status.code !== 200){
mapCanvas.innerHTML = 'Address not found';
return false;
}
var ll = json.Placemark[0].Point.coordinates,
latlng = new google.maps.LatLng(ll[1], ll[0]),
myOptions = {
zoom: 16,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
},
map = new google.maps.Map(mapCanvas, myOptions),
marker = new google.maps.Marker({
position: latlng,
map: map
});
jsonp.parentNode.removeChild(jsonp);
}
function getMap(address){
jsonp([
'http://maps.google.com/maps/geo?',
'q=' + address,
'&output=json',
'&sensor=false',
//'&key= ... place here your key if not on localhost ...',
'&callback=showMap'
].join(''));
}
</script>
</head>
<body>
<input type="text" value="gran place, brussels"/><input type="button" onclick="getMap(this.previousSibling.value)" value="Get Map"/>
<div id="map_canvas" style="width:100%; height:450px"></div>
</body>
</html>
jQuery有所做的正是這樣的功能:$.getScript
。例如:
$.getScript('/script.js', function()
{
alert('Script loaded!');
});
你能發表一些代碼嗎?你如何*加載*你的文件? – CMS 2010-01-04 21:23:05
你有代碼摘錄你如何做到這一點? – 2010-01-04 21:23:24
你試過jQuery的getscript嗎? (http://docs.jquery.com/Ajax/jQuery.getScript) – Mottie 2010-01-04 22:22:16