首页 > Web开发 > 详细

嗅探js css 文件是否加载成功示例

时间:2017-01-12 09:39:43      阅读:212      评论:0      收藏:0      [点我收藏+]


<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="pragram" content="no-cache"/>
<meta http-equiv="cache-control" content="no-cache,must-revalidate"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>嗅探demo</title>
<!-- <style type="text/css">
#link1 {
font-size: 1111px;假装有
}
</style> -->
<link rel="stylesheet" type="text/css" href="https://my/css/adsfasdf.css"/>
<script>
// 嗅探之后的调用方法
window.userId = ‘123456‘;
var marurls = [];
//发送埋点的
var _sendMar = function(url, status) {
if (marurls.indexOf(url) == -1) {
marurls.push(url);
setTimeout(function() {
var mar = $(‘<a href="javascript:;" mars_sead="‘ + status + ‘_‘ + url.replace(/\//g, ‘_‘) + ‘__‘ + window.userId + ‘">‘);
$(‘body‘).append(mar);
mar[0].click();
}, 0);
}
};
//加载js的
var loadJs = function(url, status) {
var body= document.getElementsByTagName(‘body‘)[0];
var script= document.createElement(‘script‘);
script.type = ‘text/javascript‘;
script.onload= function(event){
}
script.onerror = function(e, msg) {
}
script.src= url;
body.appendChild(script);
};
//加载css的
var loadCss = function(url, status) {
var head = document.getElementsByTagName(‘head‘)[0];
var link = document.createElement(‘link‘);
link.href = url;
link.rel = ‘stylesheet‘;
link.type = ‘text/css‘;
link.onload= function(event){
}
link.onerror = function(e, msg) {
}
head.appendChild(link);
};
</script>
</head>
<body>
<input type="hidden" id="link1">
<section id="test">嗅探demo</section>
</body>
</html>

<script src="http://my/jquery-1.10.2.js" charset="utf-8"></script>
<script src="http://my/mars_wap.js" charset="utf-8"></script>
<!-- js例子 -->
<script src="http://my/index.4513cc84-123.js" onerror="_sendMar(‘http://my/index.4513cc84.js‘, ‘505‘)" charset="utf-8"></script>
<script>
// 嗅探示例 window.version 可以是 window.$ 、window.angularjs 或任意自己定义的全局变量 用于检测cdn返回的文件中是否包含应有的逻辑
if (window.version != 1) {
// 根据url只会发送一次埋点信息
_sendMar(‘http://my/index.4513cc84.js‘, 510);
loadJs(‘http://my/index.4513cc84-youxiao.js‘);
}
</script>
<!-- js例子 -->
<!-- css例子 -->
<script>
// 嗅探示例 window.version 可以是 window.$ 、window.angularjs 或任意自己定义的全局变量 用于检测cdn返回的文件中是否包含应有的逻辑
if (window.getComputedStyle(document.getElementById(‘link1‘)).fontSize == ‘1111px‘) {
// 根据url只会发送一次埋点信息
_sendMar(‘https://my/css/adsfasdf.css‘, 510);
loadCss(‘https://my/css/adsfasdf-youxiao.css‘);
}
</script>
<!-- css例子 -->
<!--
js嗅探:1.对script标签添加onerror方法(只是在非200情况生效);2.200情况,在目标js的script标签后,监听特有字段,无该字段就说明cdn错误,在动态加载一遍非cdn的js。
css嗅探:1.对link标签添加onerror方法(只是在非200情况生效);2.200情况,在目标文档最后,判断目标js添加的特有属性,无该字段就说明cdn错误。
-->

嗅探js css 文件是否加载成功示例

原文:http://www.cnblogs.com/great-code/p/6274983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!