2014-06-23 2 views
0

Как теги <script> не выполняются при динамическом вставке в DOM, я должен выполнить их вручную, вытащив скрипты из DOM и вызвав eval.Извлечение скрипта из SVGScriptElement

Это нормально работает с обычным HTMLScriptElement s, в котором есть свойство .text, доступное для доступа к скрипту. Тем не менее, я ударил стену, пытаясь получить доступ к скриптам внутри тега SVG, которые являются SVGScriptElement s, у которых нет свойства .text. Как я могу получить доступ к сырым скриптам в теге SVG и оценить их, или действительно есть ли лучший способ сделать это?

(я думаю, что JQuery может сделать это для меня, так что это должно быть возможным - хотя я не могу использовать JQuery прямо здесь)

ответ

0

Решение это вытащить узлы непосредственно и использование .wholeText Недвижимость.

script.childNodes.length > 0 ? script.childNodes[0].wholeText : "" 

Это будет работать как для HTML, так и для скриптовых элементов SVG.

Смежные вопросы