在javascript函数中创建锚标记(超链接)(Meteor)

时间:2014-05-23 01:27:17

标签: javascript html meteor

我正在尝试使用javascript创建超链接。现在请记住,这是在一个不一定与DOM相关的函数中完成的。因此,操纵DOM的解决方案是不可能的。

这是我提出来的,当我输出它时,它只是作为一个字符串出现,anchor tag不被解释。

        alert_message = 'Wrote a message on <a href="' + url_builder + '"> your profile</a>.';

        return alert_message;

然后alert_message打印到网站上。如何强制它读取html标签?它只是将它视为一个字符串,我得到以下输出。

输出:

"Wrote a message on <a href="/members/tester/#kT6YkY8eDZdGDYQzQ"> your profile</a>." 

1 个答案:

答案 0 :(得分:3)

默认情况下,使用Meteor模板中的{{helper}}插入的字符串进行转义,因此嵌入式HTML将作为纯文本显示在浏览器中。您可以使用{{{helper}}}(三重括号)来防止此自动转义。在这种情况下,你应该确定你没有打开自己的XSS。

或者,您可以创建另一个模板,例如:

<template name="wroteOnProfileAlert">
  <a href="/members/{{writer.username}}">{{writer.username}}</a>
  wrote a message on
  <a href="/members/tester/#{{user._id}}">your profile</a>
  <!-- if you're using Iron Router, use {{pathFor}} to generate URLs -->
</template>

除非您有某些特定原因,否则您应该更喜欢编写另一个模板而不是使用字符串连接生成HTML。