使用 JavaScript 动态加载 CSS 文件
Load CSS file dynamically using JavaScript
我正在一个站点上工作,我需要检查远程主机上的CSS文件是否存在,然后加载同一CSS文件的本地副本(如果不存在)。
我正在处理的代码,
<script>
function UrlExists(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
function AddLocalCss(){ document.write('<link rel="stylesheet" type="text/css" href="css/html5-reset.min.css">') }
</script>
<script>!UrlExists('http://meyerweb.com/eric/tools/css/reset/reset.css') && AddLocalCss();</script>
但这会引发错误(在 Chrome 开发者工具中选中时)
XMLHttpRequest cannot load http://meyerweb.com/eric/tools/css/reset/reset.css. Origin http://example.com is not allowed by Access-Control-Allow-Origin.
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
任何人都可以提出解决方案或解决方法来实现这一目标吗?
你可以使用这篇文章的一些功能:使用javascript动态加载css文件,回调没有jQuery,你可以直接使用那个函数。
我希望这会有所帮助
XHR 受到同源策略的限制 - 您不能在不跳过额外箍的情况下从另一个域/协议请求资源。您必须请求远程服务器来设置 CORS,或者根本不使用 XHR。
取而代之的是,您可以生成一个link
元素并观察其状态或加载样式会影响的其他元素的状态。不幸的是,这种行为并没有跨浏览器标准化,但幸运的是,有一些库可以简化处理它。查看确保。
相关文章:
- 如何修复:当javascript更改DOM时,iOS会删除CSS文件
- 使用Javascript读取CSS文件并动态更改页面
- js和css文件-在publichtml外部或内部
- Google PageSpeed Insights与多个CSS文件
- Javascript:动态更改CSS文件+Cookie
- 没有在django项目中加载CSS文件
- 在企业应用程序框架中包含js/css文件的最佳实践是什么
- Chrome审核:在外部CSS文件之间的头中发现了1个内联脚本块&”;
- 使用新的 CSS 文件覆盖当前网站
- 多余的JS和CSS文件
- 快递.js无法获取我的 CSS 文件
- 无法查找元素'手动加载CSS文件时的CSS属性
- jquery移动应用程序无法使用jquryMobile框架JS和css文件的相对路径
- 不同的引导 CSS 文件
- 加载CSS文件并覆盖上一个文件
- 使用 JavaScript 动态加载 CSS 文件
- 如何使用谷歌页面速度CSS加载脚本延迟多个CSS文件
- 在 html 文件中包含无缓存元标记是否也会阻止缓存该 html 文件中链接的 js 和 css 文件
- Spring MVC 集成 js 和 css 文件
- 如何将 JavaScript 和 CSS 文件添加到 MagentoModule