我创建一个脚本并使用如下代码将其插入到文档中(我之前的问题):
var my_script = document.createElement('script');
my_script.setAttribute('type','text/javascript');
my_script.setAttribute('src','https://mysite.ru/storage/script.js');
document.head.appendChild(my_script);
my_script.addEventListener('load', _ => function_onload());
这就是它的工作原理。
但我需要使任务复杂化。
现在我没有任何可以下载脚本的服务器。
也就是说,src不会设置该属性。
一切都需要“此时此地”完成,也就是说,我可以(使用 Web 服务)接收脚本文本作为字符串 ( scriptBody)。
现在我有机会创建一个脚本,将其插入页面,并以代码的形式拥有它的“主体”......
现在我怎么知道var my_script = document.createElement('script');创建的脚本 ( ) 具有这样那样的主体?
我试过:
my_script.append(scriptBody);
和
my_script.source = scriptBody;
和
my_script.innerHTML = scriptBody;
由于某种原因,这不起作用。
我检查了它不起作用,我这样做了:我做了一个小index.html:
<html>
<head>
<script>
function body_onload(){
var my_script_body = 'function myScriptFunction(){ alert(\'Hi from myScriptFunction!\'); }';
var my_script = document.createElement('script');
my_script.setAttribute('type','text/javascript');
//my_script.innerText = my_script_body;
my_script.innerHTML = my_script_body;
document.head.appendChild(my_script);
my_script.addEventListener( 'load', _ => myScriptFunction() );
}
</script>
</head>
<body onload='body_onload();'>
<h4>
Это пример, казалось бы, простой функциональности
</h4>
</body>
</html>
另外,我尝试简单地在浏览器调试控制台中按 my_script 之后的点,然后查看对象的属性my_script- 不,我不知道如何将其主体分配给脚本。
告诉我,如何将其代码分配给创建的脚本?(脚本主体)
谢谢你!
一切正常,它输出
Test。尝试指定type:您也可以使用
eval('code').