如何在我的视图中打印 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>'%>

【讨论】:

你能帮我解决这个问题吗?我需要打印变量值:'&lt;script&gt;var _p_g=id:#@website.id;&gt;&lt;/script&gt;' 这只打印#@website.id,但我需要它的值。 我需要用双引号吗? 好的,你可以使用escape_javascript助手转义双引号:"&lt;script&gt;var _p_g=id:#escape_javascript(@website.id);&gt;&lt;/script&gt;" 试试这个:"&lt;script&gt;var _p_g=id:@website.id;&lt;/script&gt;&lt;script src=\"...\"&gt;&lt;/script&gt;" 在多余的双引号前加上一个反斜杠,而不是转义 id。 不报错,也不打印website.id值。

以上是关于如何在我的视图中打印 JavaScript 代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 UIWebview 中注入 javascript

我想通过接受用户输入通过 JavaScript 在我的 DOM 中打印一个 Rectangle,但是当我运行此代码时,我得到 'str' 未定义

如何将 Javascript 日期转换为 iOS 日期格式

如何将 NSArray 传递给 JavaScript 文件并在 JavaScript 中打印该数组?

如何使用javascript打印到控制台?

如何加载包含 JavaScript 的局部视图?