我在轨道上是n00b。问题很简单,我想知道如何在onLoad事件的body标签内部进行javascript函数调用。
我问这个是因为在视图中我找不到任何身体或头部标签(就像它们是在其他地方生成的那样)。
由于
答案 0 :(得分:4)
您无需修改body标记以将Javascript函数与onload相关联。您可以将函数分配给外部Javascript文件中的window.onload,而不是在正文上使用onload属性。
有更多高级方法,使用事件侦听器执行相同的操作(在页面加载时触发函数),这将允许在页面加载前一点/一段时间在DOM就绪上添加多个侦听器函数或触发器函数。只设置window.onload是最简单的方法,并且会让你的Javascript保持不引人注目。
答案 1 :(得分:2)
body
和head
标记通常会在其中一个布局中定义。默认情况下,布局位于app/views/layouts
。
答案 2 :(得分:2)
另一种方法(如果你需要在每个视图的基础上为页眉/页脚添加自定义元素,你会想要用yield块做这样的事情
以下是允许在每页基础上覆盖标题的示例,但相同的技术适用于在HTML标头标记中设置script
标记。
app/views/layouts/posts_layout.html.erb
<html>
<head>
<title><%= yield(:page_title) || "My awesome site"%></title>
</head>
<body><%= yield %> </body>
</html>
app/views/posts/index.html.erb
<%= content_for :page_title, "post listing" %>
<h1>Here are your posts...</h1>