Вложенные кавычки в JavaScript/HTML

Простой: вы можете добавить любой домен за именем пользователя. Итак, как только вы определили имя пользователя, зарегистрируйте своего пользователя с помощью @vikzillasapp.com.

Обратите внимание, что это не позволит пользователю сбросить свой пароль, если они его забудут, поскольку Firebase использует адрес электронной почты для отправки пароля для сброса пароля.

Если это не подходит вашим потребностям, вы можете свернуть собственный поставщик удостоверений, используя команды в документации Firebase . Для этого требуется код, который работает в надежной среде, для которой вы можете использовать свой собственный сервер или Cloud Functions для Firebase . В настоящее время даже пример этого в функции-samples repo .

28
задан Ryan Elkins 14 June 2010 в 21:42
поделиться

3 ответа

Вам необходимо использовать правильное экранирование / кодирование. Либо в HTML с использованием символьных ссылок:

<p onclick="exampleFunc('&lt;div id=&quot;divId&quot;&gt;&lt;/div&gt;');">Some Text</p>

, либо в JavaScript с использованием управляющих последовательностей строк:

<p onclick="exampleFunc('\x3Cdiv\x20id\x3D\x22divId\x22\x3E\x3C/div\x3E');">Some Text</p>
33
ответ дан 28 November 2019 в 03:41
поделиться

    const _advanceEscapeCount = (escapeCount, level) => {
      const linearPosition = Math.log(escapeCount + 1) / Math.log(2);
      return Math.pow(2, (linearPosition + level)) - 1;
    };

    const deepNestQuotes = (str, level) => {
      for (let i = str.length - 1; i >=0 ; i--) {

        if (str[i] === '"') {

          const index = i;
          let count = 0;
          while (str[i - 1] === '\\') {
            count++;
            i--;
          }

          const firstPart = str.substr(0,index - count);
          const lastPart = str.substr(index,str.length);

          const escapedCount = _advanceEscapeCount(count, level);
          str = firstPart +  '\\'.repeat(escapedCount) + lastPart;
          //str = firstPart +  escapedCount + lastPart;
        }
      }

      return str;
    };



    deepNestQuotes("1st-level-begin \"2nd-begin   \\\"3rd-begin  \\\\\\\"4th level\\\\\\\"   3rd-end\\\"   2nd-end\" 1st-level-end", 1);

    deepNestQuotes("1st-level-begin \"2nd-begin   \\\"3rd-begin  \\\\\\\"4th level\\\\\\\"   3rd-end\\\"   2nd-end\" 1st-level-end", 2);
0
ответ дан 28 November 2019 в 03:41
поделиться

вам нужно экранировать символы с помощью \

, поэтому ваш код должен выглядеть как

<p onclick="exampleFunc('<div id=\"divId\"></div>');">Some Text</p>

Вот некоторая информация о специальных символах

-2
ответ дан 28 November 2019 в 03:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: