Есть ли способ получить нечистое содержимое из поля закрытия Google?

#javascript #google-closure

#javascript #google-закрытие

Вопрос:

У меня есть текстовый редактор, который предоставляет как исходный код, так и форматированный текстовый редактор. Допустим, у меня есть следующее в моей текстовой области

 <p>A Paragraph</p>
<script type="text/javascript">
    $$('.a-class');
</script>
  

Я успешно могу сохранить этот текст в RTE, хотя, если я попытаюсь извлечь из него эти данные (вызвав Field.getCleanContents () ), это приведет к следующему

 <p>A Paragraph</p>
<script type="text/javascript">
    $('.a-class');
</script>
  

Итак, мне интересно, есть ли простой способ предотвратить удаление из closure этого дополнительного символа ‘$’.

Обновить

Покопавшись в куче кода, я обнаружил, что произошла строка.replace, и есть что-то немного хитрое в функции Javascript string.replace при использовании двойного доллара

 "foo bar baz".replace("bar", "$$fancy")
> "foo $fancy baz"
  

Способ, которым я обошел это, заключался в эффективном сокращении строки и возврате из нее новой строки.

 function glue(msg, old, replacement){
  var oldIndex = msg.indexOf(old);
  var prefix = msg.substr(0, oldIndex);
  var suffix = msg.substr(oldIndex   old.length);
  return prefix   replacement   suffix;
}

glue("foo bar baz", "bar", "$$fancy");
> "foo $$fancy baz"