繁体   English   中英

为什么这个js没有显示在我的rails视图中?

[英]Why is this js not showing up in my rails view?

好的,所以我有一个需要网站的广告系列javascript。 该网站位于ssl之下,而广告系列不在ssl之下,因此浏览器阻止了该请求

所以要变通我正在通过application_controller进行请求

before_filter :get_campaign 

def get_campaign
  uri = URI.parse("http://us1.campaign-archive1.com/generate-js/?u=2f77d2f8c77398c0b064223ba&fid=1&show=3")
  begin
    @campaign = Net::HTTP.get_response(uri).body
  end
end

在我看来

      %script{:language => "javascript", :type => "text/javascript"}
        = @campaign.try(:html_safe)

因为@campaign是document.write字符串...但是由于某种原因它没有写出来....我错过了一些东西还是有更好的方法来实现这一目标

更新

在chrome中查看控制台后,我看到此错误Uncaught SyntaxError: Unexpected token <

这是我生成的代码

  <script language='javascript' type='text/javascript'>
                  document.write("<div class=\"display_archive\"><div class=\"campaign\">08\/29\/2012 - <a href=\"http:\/\/us1.campaign-archive1.com\/?u=2f77d2f8c77398c0b064223ba&id=4c4d33ed6f\" title=\"Ten Fun Facts and Figures from Gen Con Indy 2012\" target=\"_blank\">Ten Fun Facts and Figures from Gen Con Indy 2012<\/a><\/div><\/div>");
                  <br>
                  <div class='display_archive'></div>
                  <div class='campaign'>
                    Select
                    <a href='http://eepurl.com/jkmGT' target='_blank'>HERE</a>
                    to sign up for our newsletter! 
                  </div>
                </script>

您正在下载的Javascript片段包含无法转义使用的字符,并且您正在防止转义的发生。 通常,将此类内容包装在CDATA标记中。 如果启用了CDATA支持(默认是XHTML),则hamml javascript过滤器会为您执行此操作:

:javascript
  #{@campaign}

为什么脚本标记中包含HTML? 我很确定这就是问题所在,您应该删除@campaign中的所有内容,包括br

@campaign.gsub!(/<br.*/, "")

暂无
暂无

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

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