Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 防止播放模板引擎转义JavaScript引号_Scala_Templates_Playframework 2.0_Escaping - Fatal编程技术网

Scala 防止播放模板引擎转义JavaScript引号

Scala 防止播放模板引擎转义JavaScript引号,scala,templates,playframework-2.0,escaping,Scala,Templates,Playframework 2.0,Escaping,我想使用Play框架中的模板包含一篇Facebook帖子。问题是,即使@Html不应转义Html实体,它们也会被转义。结果,“变为”,脚本不会被评估 嵌入代码 post = "<div id="fb-root"></div> <script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) retur

我想使用Play框架中的模板包含一篇Facebook帖子。问题是,即使
@Html
不应转义Html实体,它们也会被转义。结果,
变为
,脚本不会被评估

嵌入代码

post = "<div id="fb-root"></div> 
<script>
  (function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); 
    js.id = id; 
    js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
   }(document, 'script', 'facebook-jssdk'));
</script>
<div class="fb-post" data-href="https://www.facebook.com/FacebookDevelopers/posts/10151945402933553" data-width="466">
  <div class="fb-xfbml-parse-ignore">
    <a href="https://www.facebook.com/FacebookDevelopers/posts/10151945402933553">Beitrag</a> von <a href="https://www.facebook.com/FacebookDevelopers">Facebook Developers</a>.
  </div>
</div>"`
<div id="fb-root"></div> 
<script>
  (function(d, s, id) { 
      var js, fjs = d.getElementsByTagName(s)[0]; 
      if (d.getElementById(id)) return; 
      js = d.createElement(s); 
      js.id = id; 
      js.src = &quot;//connect.facebook.net/de_DE/all.js#xfbml=1&quot;;
      fjs.parentNode.insertBefore(js, fjs);
    }(document, &apos;script&apos;, &apos;facebook-jssdk&apos;));
</script>
<div class="fb-post"; data-href="https://www.facebook.com/FacebookDevelopers/posts/10151945402933553" data-width="466">
   <div class="fb-xfbml-parse-ignore">
     <a href="https://www.facebook.com/FacebookDevelopers/posts/10151945402933553">Beitrag</a> von <a href="https://www.facebook.com/FacebookDevelopers">Facebook Developers</a>.
   </div>
 </div>

我真的被卡住了,因为
@Html()
没有做它应该做的事情。

它完全按照文档所说的那样工作,请尝试以下示例: 模板:

@()
@Html("<div>&\"</div>")
@()
@Html(&\)
将为您提供以下输出:

<div>&"</div>
&”

因此,你的应用程序中肯定还有其他东西使html转义字符串。

它可以很好地处理纯html,但脚本标记中的所有JavaScript代码都会转义html,因此无效。将原始字符串更改为“&\”“仍然提供正确的输出。还有一些事情正在发生,要么你的字符串不是你想象的那样,要么你以错误的方式看待结果(例如浏览器调试器中的dom树而不是源代码)好吧,我会继续尝试。谢谢你的帮助!我认为您需要显示更多的代码,因为即使使用javascript,
@Html
也可以正常工作。我知道你的嵌入代码部分被编辑为“格式化”,即使它在技术上破坏了它。请显示如何设置嵌入代码并将其传递给视图。这可能会对这个问题有所帮助。