Javascript 将字符串动态附加到脚本元素

标签 javascript jquery

如何在我的 html 中附加以下变量(作为脚本标记的一部分)。

var x = '-----BEGIN CERT\nMIIDvTCCAqWgAsdfsdfTAktS\nMR4wHAYDVQQKExVTb2Z0Zm9ydW0gQ29yc45656b24xHjAcBgNVBAsTFVNlY3Vy\naXR5IFJORCBEaXZpc2lvbQQKDAhq\ncG1vcmdhbjER\n-----END CERT-----\n;';

我收到以下代码的无效 token 错误;

var script = document.createElement( 'script' );
                script.type = 'text/javascript';
                script.innerHTML = "var x = '-----BEGIN CERT\nMIIDvTCCAqWgAsdfsdfTAktS\nMR4wHAYDVQQKExVTb2Z0Zm9ydW0gQ29yc45656b24xHjAcBgNVBAsTFVNlY3Vy\naXR5IFJORCBEaXZpc2lvbjEcMBoGA1UEAxMTU29mdGZvcnVtIFB1YmxpYyBDQTE\nODQzMzhaFw0yMj45645gNVBAYTAktSMREwDwYDVQQKDAhq\ncG1vcmdhbjER\n-----END CERT-----\n;';";
                $("body").append( script );

最佳答案

您需要转义回车符。另外,正如@maxzoom 所建议的,您可能希望使用 innerText 而不是 innerHTML。

var script = document.createElement('script');
  script.type = 'text/javascript';
  script.innerHTML = "var x = '-----BEGIN CERT\\nMIIDvTCCAqWgAsdfsdfTAktS\\nMR4wHAYDVQQKExVTb2Z0Zm9ydW0gQ29yc45656b24xHjAcBgNVBAsTFVNlY3Vy\\naXR5IFJORCBEaXZpc2lvbjEcMBoGA1UEAxMTU29mdGZvcnVtIFB1YmxpYyBDQTE\\nODQzMzhaFw0yMj45645gNVBAYTAktSMREwDwYDVQQKDAhq\\ncG1vcmdhbjER\\n-----END CERT-----\\n;'; console.log(x);";
  $("body").append(script);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

检查器显示它正在运行中......

enter image description here

关于Javascript 将字符串动态附加到脚本元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42004501/

相关文章:

javascript - jQuery .append 发生了多次。我该如何防止这种情况?

javascript - 如何有效计算游戏平均回合数的数学限制?

javascript - 如何在 React Native 中用另一个数组过滤一个数组?

javascript - 从 Jupyter Comm 设置全局变量

jquery - 模拟原生点击

javascript - jQuery 检查是否单击左 ctrl + 左 shift 和左 ctrl + 右 shift

javascript - Ooxml 中不显示下划线

javascript - 防止 Html Agility Pack 更改加载的页面源

javascript - 价格滑动过滤器 - 隐藏父属性元素

jquery - jQuery - ContentType 如何告诉 javascript 我想要显示的具体数据?