在我的索引上,我有<a href="/dashboard/gov.html">Government dashboard</a>链接到我的政府页面,在我的政府页面上我有google map api和我自己的JavaScript。但是,当我单击指向gov页面的链接时,只有我自己的一个js可以正常工作。
奇怪的是,如果我只是重新加载gov.html(或将其设置为root),而不是单击该链接来重定向所有文件,似乎一切正常。

这是不起作用的html部分:

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

<script  src="https://maps.googleapis.com/maps/api/js?key=XXX"></script>

<script>
      var  map  =  new  google.maps.Map(document.getElementById('map'),  {
                  center:  new  google.maps.LatLng(31.267401,  121.522179),
                  mapTypeId:  google.maps.MapTypeId.ROADMAP,
                  zoom:  11
              });

                              var  t  =  new  Date().getTime();
      var  waqiMapOverlay  =  new  google.maps.ImageMapType({
                  getTileUrl:  function(coord,  zoom)  {
                            return  'http://tiles.aqicn.org/tiles/usepa-aqi/'  +  zoom  +  "/"  +  coord.x  +  "/"  +  coord.y  +  ".png?token=_TOKEN_ID_";
                  },
                  name:  "Air  Quality",
        });

      map.overlayMapTypes.insertAt(0,waqiMapOverlay);
</script>

    </th>
    <th><img id="imgtraffic" width="395" height="280" /></th>
  </tr>
</table>

<table align="center" width="811" border="1">
  <tr>
    <td bgcolor="#9AD7F1" width="811">City Heat Map</td>
  </tr>
  <tr>
    <td><div id="container"></div>
     <div class="button-group">
      <input type="button" class="button" value="Show heat map" onclick="heatmap.show()"/>
      <input type="button" class="button" value="Close heat map" onclick="heatmap.hide()"/>
    </div>
    <script>
        var map = new AMap.Map("container", {
        resizeEnable: true,
        center: [116.418261, 39.921984],
        zoom: 11
    });
    if (!isSupportCanvas()) {
         ...
    </script>

    </td>
  </tr>
</table>


非常感谢你的帮助。

最佳答案

尝试将您的代码放入

$( document ).on('turbolinks:load', function() {
  Your code here
})

关于javascript - js在Rails上无法正确加载ruby,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39974156/

10-13 00:18