Избегайте динамических строк в JavaScript - PullRequest
2 голосов
/ 21 апреля 2011

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

Есть ли способ заставить JavaScript распознавать ее как строку, не анализируя ее как скрипт, или, если это невозможно, функцию, которая экранирует все сценарии внутри строки, которая будет динамической?

Я выполнил поиск, и все, что я мог найти, было бесконечные веб-страницы о том, как убежать от отдельных символов с косой чертой - возможно, мои навыки поиска нуждаются в работе.

1 Ответ

2 голосов
/ 21 апреля 2011

Вы помещаете содержимое подписи с использованием серверного языка, динамически, в строковый литерал JavaScript? Это, вероятно, не лучший способ пойти; Возможно, вы захотите пересмотреть то, как вы это делаете.

Например, лучшим способом сделать это может быть то, что вы можете просто разместить на странице элемент для подписи (который не должен быть визуально различимым), а затем получить его содержимое для использования в сценарии. во время выполнения JavaScript.

Если вы все еще хотите выбрать маршрут, по которому вы идете, вы можете заменить ' на \' (или " на \", если в вашем скрипте используются строки в двойных кавычках) и заменить \n с \\n, который заменяет настоящие символы новой строки на новые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...