0

投稿内容の保存にckeditorを使用しています。データベースに何かを保存すると、コンテンツが html タグで保存されます。HTMLをエスケープするには、<%= raw(posts.content) %>関数を使用しています。投稿コンテンツも聞く機能を追加するためにSpeak.jsを使用しています。ここで私はこのようにやっています...

<script src="speakClient.js"></script>
<img src="img/listenpost.png" alt="Listen Post" onclick="speak('<%= posts_item.content.html_safe %>')" style="cursor:pointer;" />

しかし、ここではhtmlタグでコンテンツを話します。私もこんな風にしてみました

 speak('<%== posts_item.content %>') or  speak('<%= raw posts_item.content %>')

しかし、私には何もうまくいきません。HTMLタグなしで投稿が聞こえるように、HTMLタグをエスケープするにはどうすればよいですか

4

2 に答える 2

2

JavaScript内でもエスケープする必要があります。escape_javascriptヘルパーの使用

speak('<%=j posts_item.content.html_safe %>')
于 2013-05-24T07:00:14.273 に答える
0

あなたは試したことがあると述べていますspeak('<%= raw posts_item.content %>')。この場合の raw ヘルパー メソッドの正しい使用法は(括弧内にあることに<%= raw(posts_item.content) %>注意してください)posts_item.content

于 2013-05-24T06:58:37.873 に答える