在我的应用程序中,我将请求从客户端发送到 node.js 服务器。服务器发送包含脚本的 HTML 响应:
\napp.post(\'/verify\', cors(issue2options), async (req, res) => {\n let auth = await mongo({\n input: \'express app\',\n data: req.body[\'auth\'][\'address\'],\n type: \'verify\'\n }, \'get\', \'type\')\n\n if (empty(auth)) {\n res.send(JSON.stringify(`\n <div id="registration" slot="varan-about">\n \xd0\x92\xd0\xbe\xd0\xb9\xd0\xb4\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xbf\xd0\xbe\xd0\xb4 \xd0\xb0\xd0\xba\xd0\xba\xd0\xb0\xd1\x83\xd0\xbd\xd1\x82\xd0\xbe\xd0\xbc \xd0\xb0\xd0\xb4\xd0\xbc\xd0\xb8\xd0\xbd\xd0\xb8\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80\xd0\xb0\n <script type="module">\n console.log(\'sssss\');\n </script>\n </div>\n `));\n } else {\n res.send(true)\n }\n})\nRun Code Online (Sandbox Code Playgroud)\n在客户端上,我将响应注入document.body使用insertAdjacentHTML:
document.body.insertAdjacentHTML(\'afterbegin\', json);\nRun Code Online (Sandbox Code Playgroud)\n但脚本不执行。
\n是否可以使用此方法注入脚本?
\n我使用 Web 组件,导出默认值和 *.mjs
我的代码看起来像这样。它是 index.bundle.mjs 和 html 文件。在代码 *.mjs 中,我确实导出默认值
export default () =>{
console.log('test')
}
Run Code Online (Sandbox Code Playgroud)
在代码 *.html 我包括 index.bundle.mjs
索引.html
<!DOCTYPE html >
<html lang=ru xml:lang=ru>
<head>
<meta charset=utf-8>
<title>title</title>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="theme-color" content="#cdfecc">
<meta name="MobileOptimized" content="320">
<meta name="HandheldFriendly" content="True">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name=viewport content="width=device-width,minimum-scale
</head>
<body>
<noscript>???????? java script</noscript>
<div id="input"></div>
<script type="text/javascript" src="index.bundle.mjs"></script></body>
</html>
Run Code Online (Sandbox Code Playgroud)
在 IE 11 中出现错误 script1002: syntax error.
如何在 IE 11 中包含此语法?