Javascript Ajax上的CSS-动态加载

Javascript Ajax上的CSS-动态加载,javascript,css,dojo,stylesheet,Javascript,Css,Dojo,Stylesheet,这类问题已经被问了很多次,但我找不到一个完全符合我所寻找的答案 我有一个基于Ajax的大型应用程序。Ajax响应包括用于构建页面、小部件等的HTML和JavaScript文件 我想通过ajax JavaScript调用动态加载这些小部件的CSS。可以根据需要动态加载任意数量的CSS文件。最普遍接受的方法(据我所见)是在链接标记和目标上放置一个id,但由于我包含了数量不确定的外部样式表,这将不起作用 如有任何关于如何解决这个问题的建议,我们将不胜感激 我正在使用Dojo为应用程序供电,如果有任何帮

这类问题已经被问了很多次,但我找不到一个完全符合我所寻找的答案

我有一个基于Ajax的大型应用程序。Ajax响应包括用于构建页面、小部件等的HTML和JavaScript文件

我想通过ajax JavaScript调用动态加载这些小部件的CSS。可以根据需要动态加载任意数量的CSS文件。最普遍接受的方法(据我所见)是在链接标记和目标上放置一个id,但由于我包含了数量不确定的外部样式表,这将不起作用

如有任何关于如何解决这个问题的建议,我们将不胜感激

我正在使用Dojo为应用程序供电,如果有任何帮助的话


谢谢

我们在应用程序中动态加载了许多小部件

每个小部件都是一个HTML+JS+CSS,加载了
IFRAME

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


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

动态加载CSS时要小心。CSS是异步加载的,所以您可以使用在Javascript中进行布局的小部件(如BorderContainer)获得竞争条件

您可以使用导入语句将所有必需的CSS放入一个文件中。例如,来自claro.css

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

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

您可以对其进行检查;[用js加载css][1][1]: