有没有办法从字符串加载CSS和JavaScript?

sak*_*sak 4 html javascript css web

我已经看过很多从文件中动态加载CSS和javascript的例子. 这是一个很好的例子.但有没有办法加载CSS或javascript作为字符串?例如,类似于:

var style = ".class { width:100% }"
document.loadStyle(style);
Run Code Online (Sandbox Code Playgroud)

或者那种性质的东西.

jmo*_*253 12

var javascript = "alert('hello');";
eval(javascript);
Run Code Online (Sandbox Code Playgroud)

这将从字符串加载JavaScript,但要警告这是非常不安全的,不推荐.如果恶意进程干扰了您的JavaScript字符串,则可能会导致安全问题.

就CSS而言,您可以使用jQuery将样式标记附加到页面,如下所示:

$('head').append("<style>body { background-color: grey; }</style>");
Run Code Online (Sandbox Code Playgroud)

或者,对于JavaScript纯粹主义者:

var s = document.createElement("style");
s.innerHTML = "body { background-color:white !important; }";
document.getElementsByTagName("head")[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)

  • 更多阅读:[\ [javascript \]\[eval \] evil](http://stackoverflow.com/search?q=%5Bjavascript%5D+%5Beval%5D+evil) (2认同)