使用dojo动态导入样式表

时间:2011-09-01 18:51:13

标签: javascript css dojo stylesheet

从javascript导入css样式表的最佳(最优雅:)方式是什么。

也许dojo有一些类似于dojo.require的模块?

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

您可能希望参考以下链接,类似于stackoverflow.com上的问题

How to load up CSS files using Javascript?

答案 1 :(得分:0)

您只需将<link>元素添加到页面即可。添加后,它将加载css。

 var element = document.createElement('link');
 element.href = 'someCssFile.css';
 element.rel = 'stylesheet';
 element.type = 'text/css';

 document.body.appendChild(element);

答案 2 :(得分:0)

如果您愿意,Dojo有一些DOM糖:

dojo.create("link", {href:'someCssFile.css', type:'text/css', rel:'stylesheet'}, document.getElementsByTagName('head')[0])

很久以前,Dojo的加载器用于处理样式表并自动为模块或小部件引入CSS(实际上是抽象触发器,如上所述)。当时有各种浏览器怪癖要处理加载样式表。事实证明它有很多性能问题,因此在Dojo 1.0中,样式表直接加载到页面上。

答案 3 :(得分:0)

哎呀,但发现这很晚了:

获取所有样式表:

require([ /* "dojo/something", */ "dojox/html/styles"],
    function( /* something, */ stylesheet ){
        console.log( stylesheet.getStyleSheets() );
    }
)

通过href或标题标记获取特殊样式表:

http://dojotoolkit.org/api/dojox/html/styles,请参阅getStyleSheet

你特别要求dojo,所以你可能还想了解更多关于dojox.html.styles的信息: http://www.sitepen.com/blog/2009/03/13/dynamic-stylesheets-part-1/