繁体   English   中英

加载页面后自动加载javascript函数

[英]automatically load a javascript function after loading page

我是Rails的新手,现在还没有真正理解资产管道......

我想让一个

views/product/product.js 

自动开火后

views/product/index.html.erb 

因干旱原因而呈现。

在加载任何或部分model.erb文件后,资产管道中是否存在调用model.js文件的位置?

我知道如何手动完成,然后放弃了

app/assets/javascripts/product.js

但是我必须在new,show中调用doSomethingAfterPageload()方法。 删除等等。更好的是,如果这也适用于部分。

vanilla配置下的资产管道只是(简化说明)将获取清单(application.js)中引用的所有js文件,并为生产创建单个缩小的混淆文件。 在开发过程中,如果在页面中包含清单(应该是布局),则最终将为清单包含的每个资产使用js脚本包含标记。

一个常见的模式是将yield :javascript块放在你的布局中,然后在单独的视图中,调用content_for :javascript do块中的javascript函数。

在Rails 3应用程序中添加页面特定javascript的最佳方法?

更高级的方法是根据控制器和动作有条件地执行js。 以下是它的工作原理: http//viget.com/inspire/extending-paul-irishs-comprehensive-dom-ready-execution

IMO,如果应该在产品模型的每个视图中调用此js方法,则可以为产品定义布局,并在布局文件中调用该方法。

摘自此处: Asset Pipeline - Rails指南

如果添加app/assets/javascripts/<controller>.js ,它将可用于该特定控制器。

因此,如果您添加到app/assets/javascripts/product.js

$(document).ready ->
  alert "page has loaded!"

它将在该控制器的每个视图中执行,如indexedit

希望这可以帮助 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM