2011-11-01 92 views
0

这种类型的问题已经被问了很多次,但我不能找到一个解决方案,适合正是我期待的..CSS阿贾克斯 - 动态加载

我有一个大的基于App阿贾克斯。 Ajax响应包括用于构建页面和小部件等的HTML和JavaScript文件。

我想通过ajax JavaScript调用,即时加载这些小部件的CSS。可以根据需要动态加载任意数量的CSS文件。最常见的方式(从我可以看到)是在链接标记和目标上放置一个id,但由于我包括未定数量的外部样式表,因此这将不起作用。

任何建议如何解决这个问题,将不胜感激..

我使用道场给力的应用程序,如果它的任何帮助..

感谢

+0

你可以欺骗它; [加载与JS CSS] [1] [1]:http://stackoverflow.com/questions/574944/how-to-load-up-css-files-using-javascript –

回答

0

我们的飞行载荷,也多少小部件在我们的应用。

每个控件都是一个加载了IFRAME的HTML + JS + CSS。

加载IFRAME后,您可以在HEAD中的LINK上循环并将它们导入主页面。
同样适用于HTML,在我们的例子中它是一组pure.js模板。

JS在加载时自动扩展主页中的全局对象。

0

请注意动态加载CSS。 CSS是异步加载的,所以你可以通过在Javascript中做布局的小部件(比如BorderContainer)获得竞争条件。

您可以将所有必需的CSS放入带有导入语句的文件中。例如,从claro.css

@import url("../dijit.css"); 
@import url("../../icons/commonIcons.css"); 
@import url("Common.css"); 
... 

然后使用构建工具来压缩生产的所有内容。