【发布时间】:2014-06-01 15:39:10
【问题描述】:
如何阻止这些 rails-js-jquery 弹出窗口在 Firefox 中重复出现?
它们只在 Chrome 中显示一次……虽然不在我的 Ubuntu 机器上的“Chromium”中。
我检查了 Chrome 并没有安装任何扩展。
javascript 运行两次,所以我看到 4 条消息。
其他部分工作正常(db 更新,ui span 更新)
haml 是app/views/link/index.haml
= link_to 'verify', verify_link_path(:id => link.id, :table_row => index),
class: 'verify', remote: true
javascript是app/views/links/verify_link.js.erb
$("span#verify_link_<%=params['table_row']%>").text('verified');
alert("message 1");
alert("message 2");
控制器是app/controllers/links_controller.rb
def verify_link
@link = Link.find(params[:id])
@link.verified_date = Time.now
@link.save!
respond_to do |format|
format.js
end
end
这个js是verify_link_js.erb:
$("span#verify_link_<%=params['table_row']%>").text('verified');
alert("message 1");
alert("message 2");
网络选项卡对于每次验证点击仅显示一次 js 文件。 Chrome 中的弹出窗口是:
而在 Firefox 中我只是得到
【问题讨论】:
-
您是获取脚本两次,还是运行两次? (检查网络)
-
一次。用更多信息更新了 q。
-
这首先是客户端问题,所以显示客户端代码。
-
任何仍然包含
<%=…的东西都不是客户端代码。除此之外,我们仍然没有关于周围代码的信息——比如什么触发这个脚本被请求(似乎在每次点击时发生,但在什么和什么时候发生)等等。 -
CBrow 它是一个rails js erb文件,它被编译成js。无论如何找到答案(如下)。
标签: javascript jquery ruby-on-rails ruby ruby-on-rails-3