HTML主体中的Javascript可以操作head元素吗?

时间:2014-01-28 20:17:17

标签: javascript css

我写了一个小部件,在后端允许您通过OAuth2 / Google Picker UI从Google云端硬盘帐户中选择一个文件

由于小部件呈现在网页正文的前端,我无法包含style标记,需要将其动态添加到头部。

我尝试的解决方案是构建一个可以附加到正文的自调用脚本,因此当加载窗口小部件内容时,它可以将必要的样式标记添加到页面头部

这是我的代码。

var stylesheet = 'body{background-color:yellow}';

var styleScript = "<scrip" + "t>(function(){var style = document.createElement('style');style.type = 'text/css';if (style.styleSheet) { style.styleSheet.cssText = '" + stylesheet + "';} else {style.innerHTML = '" + stylesheet + "';} document.getElementsByTagName('head')[0].appendChild( style );console.log(style);}());</sc"+"ript>";

console.log(styleScript);

document.body.innerHTML = styleScript;

jsfiddle

1 个答案:

答案 0 :(得分:0)

var css = 'p { background: blue; }';
var style = document.createElement('style');
style.textContent = css;
document.head.appendChild(style);

<强> Live demo (click).