![](/img/trans.png)
[英]Why does my code only works in html but does not work when I put it into a Javascript page?
[英]Why will my string only work when I put it in manually?
这是存储在数据库中的确切字符串:
@blog_post.content = "<p><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><br></b></div></p>"
如你看到的。 它由一些图像和一些粗体文本组成。
好的,所以我将html保存在数据库中。 我试图将html附加到这样的内容可编辑div(我的RTF编辑器)上。
$(document).ready(function(){
$('#rte').append("<%= @blog_post.content %>");
});
它显示在我的内容可编辑div中,但显示为实际文本。 我希望将其呈现为html,以便实际显示图像。 似乎要附加的html是这样的:
<p><p><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"><br></b></div></p></p>
因此,我尝试手动将字符串放入append方法,然后得到了我想要的:
$(document).ready(function(){
$('#rte').append("<p><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><br></b></div></p>");
});
此处附加的html是这样的:
<p><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"></p><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"><br></b></div><p></p>
图像以我想象的方式显示在编辑器中。
为什么当我手动插入字符串而不是使用<%= @blog_posts.content %>
?
我一定在这里缺少某种格式问题。
更换:
<%= @blog_post.content %>
带有:
<%=raw @blog_post.content %>
要么:
<%== @blog_post.content %>
甚至:
<%= @blog_post.content.html_safe %>
说明:
Rails默认情况下会保护您,因此您必须告诉何时考虑html安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.