你如何自动实现这种HTML转义/编码

时间:2016-02-20 16:43:24

标签: javascript dojo arcgis esri

我正在为esri web-app builder开发一个自定义插件,我注意到他们的dojo小部件中有两件我无法理解的东西。

  1. 有一个cahce属性,它下面有很多功能,也有这种属性" url:widgets / PrintAndShare / templates / Print.html"这是合法的JS,但为什么使用它而不是标准的dojo / text!.template,我看到模板本身仍然被加载(但被忽略) - 所以问题是 - 显然,缓存属性的工作原理。
  2. 主要问题是 - 这些属性以非常具体的方式编码html,例如
  3. <div class="gis_PrintDijit">

    像这样编码

    \x3cdiv class\x3d"gis_PrintDijit"\x3e\r\n    
    

    如何实现这种编码?使用在线工具或者甚至更好地使用一些自动化,现在我只使用手动替换字符,但它实际上效率不高。

    谢谢大家

1 个答案:

答案 0 :(得分:2)

我不知道是否有更好的方法。

一个简单的解决方法是使用encodeURIComponent,然后使用replace:

var t = "<div>test ok: 100%</div>";
console.log(encodeURIComponent(t).replace(/%/g,"\\x"));