javascript - data-turbolinks-permanent 阻止 js 运行并摆脱谷歌地图标记

标签 javascript ruby-on-rails google-maps-api-3 turbolinks

我已将 data-turbolinks-permanent 添加到 div:

<div id="map" data-turbolinks-permanent></div>

但是在更改页面并返回时,我的 map 标记消失了。

下面是我包含js的方式:

<%= javascript_include_tag "https://maps.googleapis.com/maps/api/js?v=3&key=key&libraries=places&callback=loadMap", "async" => true, "defer" => true -%>
<%= javascript_include_tag 'map.js' -%>

当我包含 data-turbolinks-track => 重新加载到谷歌地图时,js 包含在页面更改时显示的标记,但它当然会重新加载;我希望元素和 js 在页面加载时保持不变。

注意:gmaps js include 中的 key 参数是为了隐藏我的 API key

最佳答案

我决定使用 locationStorage 和 sessionStorage HTML5 API;我需要的是在返回时记住应用程序的状态:

从 #map div 中删除了 data-turbolinks-permanent,然后在 google map api js 包含中使用了“data-turbolinks-track => reload”,然后使用了 localStorage 和 sessionStorage API。

About localStorage and sessionStorage

关于javascript - data-turbolinks-permanent 阻止 js 运行并摆脱谷歌地图标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43915538/

相关文章:

javascript - 谷歌地图标记 getPosition() 不工作 - '__e3_' 错误

javascript - 如何保存自定义 Google map (API)?

ruby-on-rails - 将 redirect_to 格式更改为 :js in Rails

ruby-on-rails - 谷歌地图与 JSON 的集成 - CircularReferenceError

javascript - 如何在父元素上触发 Hammer.js 滑动事件,但在一般子元素上不触发?

javascript - 从 javascript 优化页面

ruby-on-rails - 数据库、货币建模、本地化策略

javascript - Google Maps V3 API key 无效 - 但我的个人开发 key 有效

javascript - 对于空字符串,如何将 parseInt 中的 NaN 转换为 0?

Javascript 库依赖关系有或没有捆绑?