我正在为 esri web-app builder 开发一个自定义插件,我注意到他们的 dojo 小部件中有两件事我无法真正理解。
- 有一个 cahce 属性,它下面有很多功能,还有这种 fo 属性“url:widgets/PrintAndShare/templates/Print.html”,它在 JS 中是合法的,但为什么要使用它而不是标准的 dojo/text!.template,我看到模板本身仍在加载(但被忽略) - 所以问题是 - 该缓存属性究竟是如何工作的。
- 主要问题是 - 例如,这些属性以非常具体的方式进行了 html 编码
<div class="gis_PrintDijit">
这样编码
\x3cdiv class\x3d"gis_PrintDijit"\x3e\r\n
如何实现这种编码?使用在线工具或者使用一些自动化更好,现在我只是使用手动字符替换,但它确实效率不高。
谢谢大家
最佳答案
不知道有没有更好的办法。
一个简单的解决方法是使用 encodeURIComponent 然后替换:
var t = "<div>test ok: 100%</div>";
console.log(encodeURIComponent(t).replace(/%/g,"\\x"));
关于javascript - 你如何实现这种 HTML 自动转义/编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526045/