2016-12-09 8 views
0

를 다시로드하지 않습니다. 먼저로드 할 때 페이지가 잘로드되고 다른 페이지로 이동하면 해당 페이지의 컨텐츠가로드되지만 홈 페이지로 돌아 가면 이전 컨텐츠가 남아 맵이로드되지 않습니다. 수동으로 페이지를 새로 고치면 정상적으로로드됩니다., gmaps 내가 Google지도 API 보석</p> <pre><code>gem 'gmaps4rails' </code></pre> <p>내가 홈 페이지에지도가를 사용하여 응용 프로그램을

저는 이것이 누락 된 간단한 오류라고 확신합니다. 다시 방문 할 때 페이지를 새로 고치는 방법은 무엇입니까? 스크립트와

내 홈페이지 코드는 내가 종류의 유사했다 몇 가지 답을 발견하지만 문제가 해결되지 수

<div style='width: 400px;'> 
     <div id="map" style='width: 400px; height: 400px;'></div> 
    </div> 

    <script src="//maps.google.com/maps/api/js?key="" + ENV['GOOGLE_API_KEY']></script> 
    <script src="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/dist/markerclusterer.min.js"></script> 
    <script type="text/javascript"> 
    handler = Gmaps.build('Google'); 
    handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){ 
     markers = handler.addMarkers([ 
     { 
      "lat": -32.023598, 
      "lng": 115.859690, 
      "picture": { 
      "width": 32, 
      "height": 32 
      }, 
      "infowindow": "hello!" 
     } 
     ]); 
     handler.bounds.extendWith(markers); 
     handler.fitMapToBounds(); 
     handler.getMap().setZoom(16); 
    }); 
    </script> 

여기에있다.

+0

감사는 응답을, 그것도 다시로드하지 않습니다 (root_path) 링크. 탐색 할 때 페이지를 열고 완벽하게 다른 페이지를 클릭하면 잘로드 된 다음 홈 링크를 클릭하면 다시로드되지 않습니다. –

답변

0

문제는 터보 링크입니다. 페이지 LINK_TO 모두에

안 turbolink지도가 있거나 turbolink을 필요로 제거하면 app/assets/javascripts/application.js

예에 : 당신이 홈을 클릭하면

<%= link_to('HOME', root_path, 'data-no-turbolink' => true) %> 
+0

나는 터보 링크를 사용할 수 없게 만들었지 만, link_to 옵션을 사용해도 아무런 차이가 없었습니다. 터보 링크를 사용하지 않아서 반발력이 있습니까? –

+0

js를 캐시하는 데 터보 링크가 사용되었습니다. 이 경우지도의 js가로드되어 다시로드되지 않습니다. 왜 =>지도가 표시되지 않고 페이지를 다시로드하면 =>지도가 표시되는 링크를 클릭하면됩니다. 터보키를 사용 중지해도 앱에는 영향을주지 않습니다. –

1

코드를 다시로드하려는 페이지에서 빈 익명 onunload = function(){}을 사용할 수 있습니다. 그런 다음 페이지가 다시로드되기 전에 캐시가 지워 져야합니다.

+0

답장을 보내 주셔서 감사합니다. abouts는 어디에 넣을까요? 입력 한대로 넣을까요, 아니면 {} 안에 뭔가 넣을까요? –

+0

예와 같이 비어 있습니다. – PHPglue