gpt4 book ai didi

javascript - Pjax 并在特定页面上重新加载 JavaScript

转载 作者:行者123 更新时间:2023-11-30 00:11:48 24 4
gpt4 key购买 nike

我想在我的 Rails 应用程序中实现 Pjax 和 Google Map,但我在重新加载我的 JavaScript 代码时遇到了问题。

我的 layout/application.html.erb 是这样的:

<body>
<%= render 'shared/navbar' %>
<%= render 'shared/flashes' %>
<div id="pjax-container">
<%= yield %>
</div>
<%= render 'shared/footer' %>

<%= javascript_include_tag "https://maps.google.com/maps/api/js?key=******************************" %>
<%= javascript_include_tag "https://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js" %>

<%= javascript_include_tag "application" %>

<%= yield(:after_js) %>
</body>

我的 map listings/index.html.erb 所在的文件是这样的:

<div id="map" style="width: 100%; height: 300px;"></div>

<% content_for(:after_js) do %>
<%= javascript_tag do %>

$(document).on('ready', function() {
handler = Gmaps.build('Google');
handler.buildMap({ internal: { id: 'map' } }, function(){
markers = handler.addMarkers(<%= raw @markers.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
})
<% end %>
<% end %>

@markers 是链接到列表的标记数组。它是在 Listings Controller 中定义的,因此很难移动此 javascript 代码。

此文件的 JavaScript 代码仅在我重新加载此特定页面时起作用,并且在我更改页面时它不会消失。

所以我的问题是:是否可以使用 Pjax 系统在特定页面上调用包含一些 ruby​​ 信息的 JavaScript 代码?

最佳答案

只需在 pjax 的成功函数中加载您的 javascript。

关于javascript - Pjax 并在特定页面上重新加载 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36166145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com