如何在我的视图中打印 JavaScript 代码?
Posted
技术标签:
【中文标题】如何在我的视图中打印 JavaScript 代码?【英文标题】:How to print JavaScript code in my view? 【发布时间】:2012-07-31 09:30:30 【问题描述】:我需要为我的用户提供 js 代码,所以我有文本区域:
<%= text_area_tag 'body', "//<script>...</script>"%>
我无法让它工作。我知道如何使用控制器中的变量来做到这一点:
@payKey = @xml["payKey"].to_s()
"#@payKey"
编辑。全文打印:
<script>var _p_g=id:@website.id;</script>
<script src="..."></script>
并在视图中打印,但给了我错误:
E:/myapp/myapp_prev/myapp/app/controllers/websites_controller.rb:12: unknown regexp option - j
E:/myapp/myapp_prev/myapp/app/controllers/websites_controller.rb:12: syntax error, unexpected tSTRING_BEG, expecting keyword_end
<></script>"
^
那么有什么更好的方法来解决这个问题呢?
【问题讨论】:
【参考方案1】:问题似乎是您将双引号放在其他引号内,导致语法错误。
试试这个:
<%= text_area_tag 'body', '<script src="//cdn.printitgreen.com/js/embedded.js"></script>'%>
【讨论】:
你能帮我解决这个问题吗?我需要打印变量值:'<script>var _p_g=id:#@website.id;></script>'
这只打印#@website.id,但我需要它的值。
我需要用双引号吗?
好的,你可以使用escape_javascript
助手转义双引号:"<script>var _p_g=id:#escape_javascript(@website.id);></script>"
试试这个:"<script>var _p_g=id:@website.id;</script><script src=\"...\"></script>"
在多余的双引号前加上一个反斜杠,而不是转义 id。
不报错,也不打印website.id值。以上是关于如何在我的视图中打印 JavaScript 代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的 UIWebview 中注入 javascript
我想通过接受用户输入通过 JavaScript 在我的 DOM 中打印一个 Rectangle,但是当我运行此代码时,我得到 'str' 未定义