注入 CSS 字符串作为新文档样式表
我正在动态创建一个大型样式表作为字符串,并希望将其注入 iframe 中。最初我是这样处理的:
var css = '.newstyle { margin: 20px; } .newstyle2 { margin: 20px; }';
$('iframe').contents().find('head').append('<style type="text/css">'+css+'</style>');
不幸的是,IE7 不喜欢这种方法。我不知道还有什么方法可以进行这种注射。是否有跨浏览器解决方案可以让我从字符串注入大量 CSS?
I am dynamically creating a large stylesheet as a string and desiring to injecting it into an iframe. Initially I approached it like this:
var css = '.newstyle { margin: 20px; } .newstyle2 { margin: 20px; }';
$('iframe').contents().find('head').append('<style type="text/css">'+css+'</style>');
Unfortunately, IE7 does not like this method. I'm not sure how else to approach this injection. Is there a cross-browser solution that will enable me to inject a mass of CSS from a string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 document.stylesheets 来实现此目的。它使您可以访问页面内的样式表。
查看这篇文章:http://kentbrewster.com/creating-dynamic-stylesheets/ — ;它有点旧,而且不以 jQuery 为中心,但我相信您可以根据您的需要进行调整。几年前我就使用过这种技术,我相信经过一些调整后它在所有浏览器中都能正常工作。
以下是有关
stylesheets
属性的更多信息:You could use
document.stylesheets
for this purpose. It gives you access to the style sheets within a page.Check this article: http://kentbrewster.com/creating-dynamic-stylesheets/ — It's a bit older and not jQuery–centric, but I'm sure you can adjust it to your needs. I've used this technique a few years back and I believe it worked fine in all browsers after tweaking a bit.
Here's a bit more information on the
stylesheets
property: