Я должен добавить тег сценария через какой-то JavaScript , и должен выполнить его полностью, так как последующие операторы полагаются на него.
<html>
<head>
<title>Injecting Script Tags</title>
</head>
<body>
<h1>Injecting Script Tags</h1>
<script>
console.log('starting');
var newScriptTag = document.createElement('script');
newScriptTag.src = 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js';
newScriptTag.type = 'text/javascript';
document.head.appendChild(newScriptTag);
try {
var now = moment().format('HH:mm');
console.log(`moment loaded. The time is ${now}`);
} catch (e) {
console.log(`Moment not loaded: ${e}`);
}
</script>
</body>
</html>
Как показывает приведенный выше фрагмент, moment()
недоступен в операторе после вставки тега.
Я думаю это можно сделать с помощью eval(...)
, но этот вариант не популярен.