Мне было интересно, можно ли использовать eval (или некоторый вариант getScript jQuery) для позиционирования внешнего javascript в местах, отличных от конца DOM или в голове. Я пробовал:
var head = document.getElementById("fig");
вместо
var head = document.getElementsById("head")[0];
с
var script = document.createElement("script");
script.text = $(".code").val();
head.appendChild(script);
Но я не могу заставить его работать, несмотря ни на что. (Код работает, но Firebug показывает заменяемый код как в #fig
, так и в конце страницы, прямо перед тегом </body>
.
В основном инструментарий JavaScript, который я использую, выполняет рендеринг в зависимости от того, где находится тег script, и я пытаюсь динамически изменять javascript на основе пользовательского ввода (поэтому я не могу действительно ссылаться на new внешний файл JS - я бы предпочел запустить eval, что не идеально).
Полагаю, в худшем случае можно было бы сохранить пользовательский ввод в «новый» файл, используя PHP или что-то в этом роде, и использовать getScript, указывающий на этот новый файл PHP, но он выглядит крайне неудачно.
Еще раз спасибо!