根据不同来源的请求加载外部样式表
jQuery 中是否有插件或功能可以动态加载来自不同来源的样式表,类似于 $.getJSON() 或 $.getScript()?我能够动态集成来自同一来源的样式表,但我需要能够将来自不同来源的 jQuery UI 主题动态注入到页面中。我想我可以将 CSS 文件加载为 JSON 数据,然后使用 $().css(); 应用内容。但是,我一直在寻找更优雅的解决方案。
谢谢
Is there a plugin or feature in jQuery that enables the dynamic loading of stylesheets from different origins similar to $.getJSON() or $.getScript()? I am able to dynamically integrate a style sheet from the same origin, but I need to be able to dynamically inject a jQuery UI theme from a different origin into a page. I guess I can load the CSS file as JSON data and then apply the contents using $().css(); however, I was looking for a more elegant solution.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您需要浏览器在 CSS 加载到浏览器中时通知您,那么我建议使用 JSON 解决方案,因为浏览器在加载 CSS 文件时不会通知脚本。
否则,只需通过动态创建
标记来加载外部 CSS 文件,您需要将其附加到文档
上。与从外部域加载 JavaScript 不同,浏览器不会对从其他域加载 CSS 文件施加任何限制。
If you need the browser to notify you when the CSS is loaded into the browser, then I suggest to use the JSON solution as browsers don't notify the script when CSS files are loaded.
Otherwise, just go ahead and load the external CSS file by dynamically creating a
<style>
tag which you will need to attach to the document<head>
. Unlike loading JavaScript from an external domains, browsers don't impose any restrictions over loading CSS files from other domains.