问题:
我正在使用w3.css(如果您现在进入w3schools.com
网站已停止进行维护)以便为我的网站设置样式。这里的问题是w3schools.com
会不时出现问题。
然后我的网站看起来很令人毛骨悚然,我不需要那个。
所以我在计算机上有w3.css
的本地副本,直到持有该网站的服务器。
在线:
<link rel="stylesheet" href="http://www.w3schools.com/lib/w3.css">
本地:
<link rel="stylesheet" href="../css/w3.css">
问题:
我怎么知道我指向w3schools
的链接什么时候已经死了,所以我可以使用本地w3.css
文件。我怎么能这样做?
1 )检测是否损坏
2 )在加载网站之前使用本地css
最后
大公司正在为此做些什么?如果3-4
Web服务失败,整个公司都会倒闭.....
我是网络开发新手。谢谢...
编辑:(我有点想法)
加载local(...site in on a server,that local i mean)
和w3schools
文件,但会增加网站加载次数......
答案 0 :(得分:1)
它可以用PHP。我还没有对它进行测试,但它应该可以工作。
将其放在Comparator.comparing
标记内。
<head>
参考:https://css-tricks.com/snippets/php/check-if-website-is-available/
答案 1 :(得分:1)
检查w3.css是否正常工作你可以使用这样的东西。而不是src把w3.css图像的标识或东西。
function checkImage (src, up, down) {
var img = new Image();
img.onload = up;
img.onerror = down;
img. src = src;
}
checkImage( "https://www.google.co.in/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", function(){ alert("up"); }, function(){ alert("down"); } );
答案 2 :(得分:0)
为什么不像这样使用JS?
<script type="text/javascript">
$.each(document.styleSheets, function(i,sheet){
if(sheet.href=='http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.css') {
var rules = sheet.rules ? sheet.rules : sheet.cssRules;
if (rules.length == 0) {
$('<link rel="stylesheet" type="text/css" href="path/to/local/jquery.mobile-1.0b3.min.css" />').appendTo('head');
}
}
})
</script>
$.each(document.styleSheets)
遍历文档的styleSheets。查看https://developer.mozilla.org/en-US/docs/Web/API/Document/styleSheets了解详情。
然后我们专门检查http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.css
是否可访问。我们使用三元运算符var rules = sheet.ruless ? sheet.rules : sheet.cssRules;
三元运算符类似于if语句,如果sheet.rules计算结果为true,则规则变为sheet.rules。如果它是假的,它将成为sheet.cssRules。
最后,我们检查rules
中是否有任何内容。如果还没有,我们会回退到我们的本地样式表解决方案并将其添加到文档的<head></head>
。
虽然使用非常慢的加载CDN时可能会遇到问题。或者,您可以使用onerror
事件