Как вы достигаете такого рода автоматического экранирования/кодирования HTML

Я работаю над собственным плагином для конструктора веб-приложений esri и заметил в их виджете 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    

как мне добиться такого кодирования? с онлайн-инструментами или, что еще лучше, с некоторой автоматизацией, пока я просто использую ручную замену символов, но это действительно неэффективно.

Спасибо вам всем


person Dan Kuida    schedule 20.02.2016    source источник


Ответы (1)


Я не знаю, есть ли лучший способ.

Простой обходной путь может состоять в том, чтобы использовать encodeURIComponent, а затем заменить:

var t = "<div>test ok: 100%</div>";
console.log(encodeURIComponent(t).replace(/%/g,"\\x"));
person Marco Altieri    schedule 20.02.2016
comment
возможно, это решение, но я написал, что ищу инструмент, который выполняет этот процесс. - person Dan Kuida; 23.02.2016
comment
не думаю, что вы найдете такое для javascript. в его стандартах используется кодировка URI, поскольку он работает с браузером. Однако он читается в «eval» и т. д., поскольку шестнадцатеричная кодировка все еще является допустимой. Вы можете поискать инструменты, которые запутывают код. В основном это то, где вы найдете шестнадцатеричное кодирование, но они обычно работают с бэкэндом php или подобным. - person mschr; 24.02.2016