【问题标题】:Why does Chrome show these (rails-jquery) alerts twice but Firefox doesn't?为什么 Chrome 两次显示这些 (rails-jquery) 警报而 Firefox 没有?
【发布时间】: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。
  • 这首先是客户端问题,所以显示客户端代码。
  • 任何仍然包含&lt;%=… 的东西都不是客户端代码。除此之外,我们仍然没有关于周围代码的信息——比如什么触发这个脚本被请求(似乎在每次点击时发生,但在什么和什么时候发生)等等。
  • CBrow 它是一个rails js erb文件,它被编译成js。无论如何找到答案(如下)。

标签: javascript jquery ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

为什么它们会显示两次(虽然不是为什么在 Firefox 中!)的答案是我的 javascript 资产文件 (app/assets/javascript/application.js) 具有以下内容:

//= require_self
//= require jquery-1.7.2.min
//= require jquery-ui-1.8.22.custom.min
//= require default_on_first_input_field
//= require row_shading
//= require sortable_hook
//= require_tree .

这基本上需要两次文件 - 分别然后通过require_tree

我首选的解决方案是删除个人需求。可以要求该项目的所有内容...实际上 require_tree 就是这样做的。所以我把它改成只是

//= require_self
//= require_tree .

有趣的是,这个问题到目前为止还没有在现有的 javascript 函数中显示出来。他们大概“可以”运行两次,这是有道理的,例如“行阴影两次”是可以的。所以基本上这是我升级的剩余“工件”,以使用从 rails 2.3.8(之前)开始的应用程序的资产管道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2023-03-02
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多