Мое решение аналогично решению lolo выше. Однако я вставляю HTML-код через document.write JavaScript вместо использования jQuery:
a.html:
Put your HTML content before insertion of b.js.
...
...
And whatever content you want afterwards.
b.js:
document.write('\
\
Add your HTML code here
\
\
Notice however, that you have to escape LF's with a '\', just like\
demonstrated in this code listing.\
\
\
');
Причина, по которой я против использования jQuery заключается в том, что размер jQuery.js составляет ~ 90 КБ, и я хочу, чтобы количество загружаемых данных было как можно меньше.
Чтобы получить правильно экранированный JavaScript-файл без особых усилий, вы можете использовать следующую команду sed:
sed 's/\\/\\\\/g;s/^.*$/&\\/g;s/'\''/\\'\''/g' b.html > escapedB.html
Или просто используйте следующий удобный скрипт bash, опубликованный как Gist на Github, который автоматизирует всю необходимую работу, конвертируя b.html
в b.js
: https://gist.github.com/Tafkadasoh/334881e18cbb7fc2a5c033bfa03f6ee6
Кредиты на Грег Миншалл для улучшенной команды sed, которая также ускользает назад косые черты и одинарные кавычки, которые моя оригинальная команда sed не рассматривала.