Я не понимаю, в чем проблема.InnerHtml
должно работать идеально, если переменная является глобальной, а также вы получаете желаемое содержимое.
Вот пример того, что я понял из того, что вы хотите.
let str = '<p><script>var test="this is a test"</script></p>'
document.getElementsByTagName("BODY")[0].innerHTML =str;
console.log(test) // and here is the injected script variable result
Чтобы получить содержимое сайта с URL-адреса, вы должны будете использовать библиотеку, такую как jq getscript
Правильно ли я вас понял?