如果是其他javascript声明

时间:2015-01-08 13:52:39

标签: javascript html5

我有一个代码,我想执行,但不知道如何去做。我有一个页面,您可以在两种语言,英语和法语之间进行转换。我想在我的index.html.erb文件中运行一个脚本,只有页面是法语而不是英文。

此代码位于index.html.erb文件的开头。

<script>
  var a = <%= params[:locale]%>
  if(a == "fr")
  {
   <script type="text/javascript">
    /* <![CDATA[ */
    var google_conversion_id = 1001007867;
    /* ]]> */
  </script>
  <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
  </script>
  <noscript>
    <div style="display:inline;">
    </div>
  </noscript>
}
</script>

我不确定我的代码是否正确。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

你不能嵌套脚本标签,如果你的条件得到满足,你可以追加一个脚本标签,某事。喜欢:

<script>
var a = <%= params[:locale]%>;
console.log(a) /* THIS REALLY LOGS THE EXPECTED VALUE ? */
if(a == "fr")
{
     var google_conversion_id = 1001007867;
     var bh = document.createElement('script'), s = document.getElementsByTagName('script')[0];
     bh.type = 'text/javascript';
     bh.src = '//www.googleadservices.com/pagead/conversion.js';
     s.parentNode.insertBefore(bh, s);

}
</script>
  <noscript>
    <div style="display:inline;">
    </div>
  </noscript>

如果您的模板语言(例如<%= %>支持if else条件

),则会有更好的解决方案

检查浏览器控制台是否有错误