2017-11-03 9 views
0

저는 전단지를 처음 사용하고지도를로드하는 데 문제가없는 자습서를 따라 설정했습니다. HTML 태그 안에 스크립트를 붙여 넣는 대신 외부 JS 파일을 통해 스크립트를 실행하려고하면이 문제가 발생합니다. 그래서 지금 나는이 같은 일을 얻을 수 없습니다 HTML :외부 JS 파일에 리플릿을로드 할 수 있습니까?

<head> 
    <link rel="stylesheet" type="text/css" href="leaflet/leaflet.css"/> 
    <script type="text/javascript" src="leaflet/leaflet.js"></script> 
    <link rel="stylesheet" type="text/css" href="src/style.css"/> 
    <script type="text/javascript" src="src/javascript.js"></script> 
</head> 
<body> 
    <div id="mapid"></div> 
</body> 

자바 스크립트 :

var mymap = L.map('mapid').setView([51.505, -0.09], 13); 

document.getElementById("mapid").onload = function loadMap(){ 
    L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlvZ204MDAiLCJhIjoiY2o5aGRxY3B5MGdyZTMzczJvNm95NHAxeSJ9.6M_vVT8BcyJay_acp-eEXA', { 
     attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>', 
     maxZoom: 18, 
     id: 'mapbox.streets', 
     accessToken: 'your.mapbox.access.token' 
    }).addTo(mymap); 
}; 

은 JS 파일에 나는 div 요소의()는에 onLoad없이로드 시도 및 시도 당신이 예제에서 볼 수 있듯이 그것과 함께,하지만 그들 중 누구도 일하지 않았다. 이와 같은 전단지를로드 할 수 있습니까?

+0

는, 고정 잘못된 자리에 내 자신의 JS 파일을 링크>< – Diogm800

답변

1

onload 이벤트가 div 요소에 존재하지 않는 시간 내 주셔서 감사합니다.

GlobalEventHandlers mixin의 onload 속성은 리소스가로드 될 때 발생하는 Window, XMLHttpRequest, 요소 등의 load 이벤트에 대한 이벤트 처리기입니다. 귀하의 경우에는 https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload

document.bodyonload를 잡을 i'de :

document.body.onload = function() { 
    // Do stuff... 
}; 
+0

을가 아무튼 어떤 이유로. 이런 식으로 일하지 마라. 지도를로드하려면 모든 요소가 끝난 후 본문에이 내용을 작성해야합니다. Diogm800