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

标签 javascript dojo arcgis esri

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

  1. 有一个 cahce 属性,它下面有很多功能,还有这种 fo 属性“url:widgets/PrintAndShare/templates/Print.html”,它在 JS 中是合法的,但为什么要使用它而不是标准的 dojo/text!.template,我看到模板本身仍在加载(但被忽略) - 所以问题是 - 该缓存属性究竟是如何工作的。
  2. 主要问题是 - 例如,这些属性以非常具体的方式进行了 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/

相关文章:

javascript - 如何在 NodeJS 中运行 browserify-ed 应用程序?

javascript - react js播放本地MP3文件

css - 自定义 dojo 的 ComboBox

php - 使用javascript执行php文件时出现问题

javascript - Arcgis.js 4.11 : How to add basemap layer to basemap gallery

javascript - JS : Run a keyboard command from JavaScript

javascript - 如何使用 Aurelia 绑定(bind)到 repeat.for 中的对象

dojo - XPages - 复制扩展库控件时出错

python - 如何获得多边形内包含的最大可能的矩形

android - 如何将标记添加到 Android 上的 ArcGIS map ?