document.writeln
, вероятно, используется для динамического включения сценария с использованием этого странного метода конкатенации строк, поскольку браузер обрабатывает </script>
, появляясь где угодно в качестве конца тега сценария, даже внутри строки JavaScript. Поэтому по этой причине следующее не будет работать правильно:
<script type="text/javascript">
// code
document.writeln('<script type="text/javascript" src="..."></script>");
// ^^ the </script> above ends the previous <script> tag prematurely.
// more code
</script>
Но есть и лучшие методы:
- Просто включите их как обычно, используя
<script src="..">
- Динамическое создание включает использование серверного кода (т.е. PHP) вместо JavaScript
- Используйте библиотеку JS, которая обеспечивает динамическую загрузку библиотеки.