前端相关数据监察和控制,javascript常用小例子

前者相关数据监察和控制

2015/08/16 · HTML5 ·
数码监察和控制

原稿出处:
AlloyTeam   

品种开发到位外发后,未有1个监察和控制类别,大家很难领悟到发表出来的代码在用户机器上进行是或不是科学,所以供给树立前端代码品质相关的监察系统。

由此大家须要做以下的有的模块:

一、收集脚本执行错误

JavaScript

function error(msg,url,line){ var REPORT_U奥迪Q3L = “xxxx/cgi”; //
收集报告数据的音讯 var m =[msg, url, line, navigator.userAgent, +new
Date];// 收集错误音信,产生错误的脚本文件网络地址,用户代理音信,时间
var url = REPO途胜T_U大切诺基L + m.join(‘||’);// 组装错误上报音信内容U卡宴L var img
= new Image; img.onload = img.onerror = function(){ img = null; };
img.src = url;// 发送数据到后台cgi } // 监听错误报告 window.onerror =
function(msg,url,line){ error(msg,url,line); }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function error(msg,url,line){
   var REPORT_URL = "xxxx/cgi"; // 收集上报数据的信息
   var m =[msg, url, line, navigator.userAgent, +new Date];// 收集错误信息,发生错误的脚本文件网络地址,用户代理信息,时间
   var url = REPORT_URL + m.join(‘||’);// 组装错误上报信息内容URL
   var img = new Image;
   img.onload = img.onerror = function(){
      img = null;
   };
   img.src = url;// 发送数据到后台cgi
}
// 监听错误上报
window.onerror = function(msg,url,line){
   error(msg,url,line);
}

透过管住后台系统,大家得以看看页面上每一趟错误的消息,通过这一个信息大家得以飞快定位同时化解难点。

二、收集html5 performance信息

performance
包涵页面加载到实践到位的整整生命周期中分化执行步骤的实施时间。performance相关作品点击如下:使用performance
API
监测页面质量

算算分歧步骤时间相对于navigationStart的日子差,能够通过相应后台CGI收集。

JavaScript

function _performance(){ var REPORT_URL = “xxxx/cgi?perf=”; var perf =
(window.webkitPerformance ? window.webkitPerformance :
window.msPerformance ), points =
[‘navigationStart’,’unloadEventStart’,’unloadEventEnd’,’redirectStart’,’redirectEnd’,’fetchStart’,’domainLookupStart’,’connectStart’,’requestStart’,’responseStart’,’responseEnd’,’domLoading’,’domInteractive’,’domContentLoadedEventEnd’,’domComplete’,’loadEventStart’,’loadEventEnd’];
var timing = pref.timing; perf = perf ? perf : window.performance; if(
perf && timing ) { var arr = []; var navigationStart =
timing[points[0]]; for(var i=0,l=points.length;i<l;i++){ arr[i]
= timing[points[i]] – navigationStart; } var url = REPORT_URL +
arr.join(“-“); var img = new Image; img.onload = img.onerror =
function(){ img=null; } img.src = url; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function _performance(){
   var REPORT_URL = "xxxx/cgi?perf=";
   var perf = (window.webkitPerformance ? window.webkitPerformance : window.msPerformance ),
      points = [‘navigationStart’,’unloadEventStart’,’unloadEventEnd’,’redirectStart’,’redirectEnd’,’fetchStart’,’domainLookupStart’,’connectStart’,’requestStart’,’responseStart’,’responseEnd’,’domLoading’,’domInteractive’,’domContentLoadedEventEnd’,’domComplete’,’loadEventStart’,’loadEventEnd’];
   var timing = pref.timing;
   perf = perf  ? perf : window.performance;
   if( perf  && timing ) {
      var arr = [];
      var navigationStart = timing[points[0]];
      for(var i=0,l=points.length;i<l;i++){
         arr[i] = timing[points[i]] – navigationStart;
      }
   var url = REPORT_URL + arr.join("-");
   var img = new Image;
   img.onload = img.onerror = function(){
      img=null;
   }
   img.src = url;
}

因而后台接口收集和总括,大家能够对页面执行品质有很详细的刺探。

3、计算每种页面包车型地铁JS和CSS加载时间

在JS也许CSS加载在此之前打上时间戳,加载之后打上时间戳,并且将数据报告到后台。加载时间反映了页面白屏,可操作的守候时间。

XHTML

<script>var cssLoadStart = +new Date</script> <link
rel=”stylesheet” href=”xxx.css” type=”text/css” media=”all”> <link
rel=”stylesheet” href=”xxx1.css” type=”text/css” media=”all”>
<link rel=”stylesheet” href=”xxx2.css” type=”text/css”
media=”all”> <sript> var cssLoadTime = (+new Date) –
cssLoadStart; var jsLoadStart = +new Date; </script> <script
type=”text/javascript” src=”xx1.js”></script> <script
type=”text/javascript” src=”xx2.js”></script> <script
type=”text/javascript” src=”xx3.js”></script> <script>
var jsLoadTime = (+new Date) – jsLoadStart; var REPORT_URL =
‘xxx/cgi?data=’ var img = new Image; img.onload = img.onerror =
function(){ img = null; }; img.src = REPORT_URL + cssLoadTime + ‘-‘ +
jsLoadTime; </script>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script>var cssLoadStart = +new Date</script>
<link rel="stylesheet" href="xxx.css" type="text/css" media="all">
<link rel="stylesheet" href="xxx1.css" type="text/css" media="all">
<link rel="stylesheet" href="xxx2.css" type="text/css" media="all">
<sript>
   var cssLoadTime = (+new Date) – cssLoadStart;
   var jsLoadStart = +new Date;
</script>
<script type="text/javascript" src="xx1.js"></script>
<script type="text/javascript" src="xx2.js"></script>
<script type="text/javascript" src="xx3.js"></script>
<script>
   var jsLoadTime = (+new Date) – jsLoadStart;
   var REPORT_URL = ‘xxx/cgi?data=’
   var img = new Image;
   img.onload = img.onerror = function(){
      img = null;
   };
   img.src = REPORT_URL + cssLoadTime + ‘-‘ + jsLoadTime;
</script>

XHTML

<a href=””
target=”_blank”> </a>

1
<a href="https://github.com/perltzhu/js-data-report" target="_blank"> </a>

1.让文字不停地滚动

一.让文字不停地滚动

参考资料:

  • html5 performance
    en
  • html5 performance
    cn
  • javascript onerror
    api

    1 赞 1 收藏
    评论

图片 1

  <MASportageQUEE>滚动文字</MA普拉多QUEE>

  <MARubiconQUEE>滚动文字</MA瑞鹰QUEE>

二.记录并显示网页的终极修改时间

贰.记下并展现网页的末梢修改时间

  <script language=javascript>   document.write(“最终更新时间: “

  <script language=Javascript>
  document.write(“最终更新时间: ” + document.lastModified + “”)
  </script>

  • document.lastModified + “”)   </script>

三.停歇当前窗口

三.关门当前窗口

  <a href=”/”onClick=”javascript:window.close();return
false;”>关闭窗口</a>

  <a href=”/”onClick=”javascript:window.close();return
false;”>关闭窗口</a>

四.5秒后关门当前页

四.5秒后关门当前页

  <script language=”Javascript”>
  <!–
  setTimeout(‘window.close();’,5000);
  –>
  </script>

  <script language=”javascript”>   <!–
  setTimeout(‘window.close();’,5000);   –>   </script>

五.二秒后载入钦点网页

伍.二秒后载入钦赐网页

  <head>
  <meta http-equiv=”refresh” content=”2;URL=
  </head>

  <head>   <meta http-equiv=”refresh”
content=”2;URL=   </head>

陆.添加到收藏夹

陆.添加到收藏夹

  <script Language=”Javascript”>
  function bookmarkit()
  {
  window.external.addFavorite(”)
  }
  if (document.all)document.write(‘<a href=”#”
onClick=”bookmarkit()”>参与收藏夹</a>’)
  </script>

  <Script Language=”javascript”>   function bookmarkit()   {
  window.external.addFavorite(”)   }
  if (document.all)document.write(‘<a href=”#”
onClick=”bookmarkit()”>到场收藏夹</a>’)   </Script>

七.让超链接不显得下划线

⑦.让超链接不彰显下划线

  <style type=”text/css”>
  <!-
  a:link{text-decoration:none}
  a:hover{text-decoration:none}
  a:visited{text-decoration:none}
  ->
  </style>

  <style type=”text/css”>   <!-   a:link{text-decoration:none}
  a:hover{text-decoration:none}   a:visited{text-decoration:none}
  ->   </style>

八.禁止鼠标右键的动作

8.禁止鼠标右键的动作

  <script Language = “Javascript”>
  function click() { if (event.button==2||event.button==3)
  {
  alert(‘禁止鼠标右键’);
  }
  document.onmousedown=click // –>
  </script>

  <Script Language = “javascript”>   function click() { if
(event.button==二||event.button==3)   {   alert(‘禁止鼠标右键’);
  }   document.onmousedown=click // –>   </Script>

玖.设置该页为首页

玖.安装该页为首页

  <body bgcolor=”#FFFFFF” text=”#000000″>
  <!– 网址:
  <a class=”chlnk” style=”cursor:hand” HREF
  onClick=”this.style.behavior=’url(#default#homepage)’;
  this.setHomePage(‘你的网址名称);”><font color=”000000″ size=”2″
face=”仿宋”>设为首页</font></a>
  </body>

  <body bgcolor=”#FFFFFF” text=”#000000″>   <!–
网址:   <a class=”chlnk” style=”cursor:hand” HREF
  onClick=”this.style.behavior=’url(#default#homepage)’;
  this.setHomePage(‘你的网址名称);”><font color=”000000″ size=”2″
face=”钟鼓文”>设为首页</font></a>   </body>

十.回忆日倒计时

十.节日倒计时

  <script Language=”Javascript”>
  var timedate= new Date(“December 25,2003”);
  var times=”圣诞节”;
  var now = new Date();
  var date = timedate.getTime() – now.getTime();
  var time = Math.floor(date / (1000 * 60 * 60 * 24));
  if (time >= 0)
  document.write(“现在离”+times+”还有: “+time +”天”)</script>

  <Script Language=”javascript”>   var timedate= new
Date(“December 25,2003″);   var times=”圣诞节”;   var now = new
Date();   var date = timedate.getTime() – now.getTime();   var time
= Math.floor(date / (1000 * 60 * 60 * 24));   if (time >= 0)
  document.write(“现在离”+times+”还有: “+time +”天”)</Script>

1壹.单击按钮打字与印刷出当前页

1壹.单击按钮打印出当前页

  <script Language=”Javascript”>
  <!– Begin
  if (window.print) {
  document.write(‘<form>’
  + ‘<input type=button name=print value=”打字与印刷本页” ‘
  + ‘onClick=”javascript:window.print()”></form>’);
  }
  // End –>
  </script>

  <Script Language=”javascript”>   <!– Begin   if
(window.print) {   document.write(‘<form>’   + ‘<input
type=button name=print value=”打印本页” ‘   +
‘onClick=”javascript:window.print()”></form>’);   }   // End
–>   </Script>

12.单击按钮‘另存为’当前页

1二.单击按钮‘另存为’当前页

  <input type=”button” name=”Button” value=”保存本页”
  onClick=”document.all.button.ExecWB(4,1)”>
  <object id=”button”
  width=0
  height=0
  classid=”CLSID:8856F961-340A-11D0-A96B-00C04FD705A2″>
  <embed width=”0″ height=”0″></embed>
  </object>

  <input type=”button” name=”Button” value=”保存本页”
  onClick=”document.all.button.ExecWB(四,一)”>   <object
id=”button”   width=0   height=0
  classid=”CLSID:885陆F玖陆1-340A-1一D0-A玖陆B-00C04FD70伍A二”>   <embed
width=”0″ height=”0″></embed>   </object>

1三.显得系统当下日子

一三.体现系统当下日子

  <script language=Javascript>
  today=new Date();
  function date(){
  this.length=date.arguments.length
  for(var i=0;i<this.length;i++)
  this[i+1]=date.arguments }
  var d=new
date(“星期日”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”);
  document.write(
  ”<font color=##000000 style=’font-size:9pt;font-family: 宋体’>
“,
  today.getYear(),”年”,today.getMonth()+1,”月”,today.getDate(),”日”,
  d[today.getDay()+1],”</font>” );
  </script>

  <script language=javascript>   today=new Date();   function
date(){   this.length=date.arguments.length   for(var
i=0;i<this.length;i++)   this[i+1]=date.arguments }   var d=new
date(“星期日”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”);
  document.write(   ”<font color=##000000
style=’font-size:9pt;font-family: 宋体’> “,
  today.getYear(),”年”,today.getMonth()+1,”月”,today.getDate(),”日”,
  d[today.getDay()+1],”</font>” );   </script>

14.例外时间段展现差异问候语

1四.不暂且间段呈现差别问候语

  <script Language=”Javascript”>
  <!–
  var text=””; day = new Date( ); time = day.getHours( );
  if (( time>=0) && (time < 7 ))
    text=”夜猫子,要留意肉体啊! “
  if (( time >= 7 ) && (time < 12))
    text=”今每日气……哈哈哈,不去玩呢?”
  if (( time >= 12) && (time < 14))
    text=”午间休息时间啊,朋友肯定是不习惯午睡的吗?!”
  if (( time >=14) && (time < 18))
    text=”中午茶的日子到了,休息一下吗! “
  if ((time >= 18) && (time <= 22))
    text=”您又来了,可别和MM聊太久啊!”
  if ((time >= 22) && (time < 24))
    text=”很晚了哦,注意休息呀!”
  document.write(text)
  //—>
  </script>

  <Script Language=”javascript”>   <!–   var text=””; day =
new Date( ); time = day.getHours( );   if (( time>=0) && (time < 7))     text=”夜猫子,要留心身体啊! ”   if (( time >= 7 ) &&
(time < 1二))     text=”今每六日气……哈哈哈,不去玩吗?”   if (( time
>= 1二) && (time < 1四))
    text=”午间休息时间啊,朋友肯定是不习惯午睡的啊?!”   if (( time
>=1四) && (time < 1捌))     text=”午夜茶的小运到了,休息一下吧! ”
  if ((time >= 1八) && (time <= 22))
    text=”您又来了,可别和MM聊太久啊!”   if ((time >= 2二) &&
(time < 2肆))     text=”很晚了啊,注意休息呀!”
  document.write(text)   //—>   </Script>

一5.水中倒影效果

15.水中倒影效果

  <img id=”reflect” src=”你协调的图形文件名” width=”175″
height=”5九”>
  <script language=”Javascript”>
  function f1()
  {
    setInterval(“mdiv.filters.wave.phase+=10”,100);
  }
  if (document.all)
  {
    document.write(‘<img id=mdiv
src=”‘+document.all.reflect.src+'”
    style=”filter:wave(strength=3,freq=3,phase=0,lightstrength=30)
blur() flipv()”>’)
    window.onload=f1
  }
  </script>

  <img id=”reflect” src=”你本身的图纸文件名” width=”17伍”
height=”5玖”>   <script language=”javascript”>   function f一()
  {     setInterval(“mdiv.filters.wave.phase+=拾”,十0);   }
  if (document.all)   {     document.write(‘<img id=mdiv
src=”‘+document.all.reflect.src+'”
    style=”filter:wave(strength=叁,freq=三,phase=0,lightstrength=30)
blur() flipv()”>’)     window.onload=f壹   }   </script>

1陆.稳步变大的窗口

1陆.渐渐变大的窗口

  <script Language=”Javascript”>
  <!–
  var Windowsheight=100
  var Windowswidth=100
  var numx=5
  function openwindow(thelocation){
  temploc=thelocation
  if
  (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById))
  {
    window.open(thelocation)
    return
  }
  windowsize=window.open(“”,””,”scrollbars”)
  windowsize.moveTo(0,0)
  windowsize.resizeTo(100,100)
  tenumxt()
  }
  function tenumxt(){
  if (Windowsheight>=screen.availHeight-3)
    numx=0
  windowsize.resizeBy(5,numx)
  Windowsheight+=5
  Windowswidth+=5
  if (Windowswidth>=screen.width-5)
  {
    windowsize.location=temploc
    Windowsheight=100
    Windowswidth=100
    numx=5
    return
  }
  setTimeout(“tenumxt()”,50)
  }
  //–>
  </script>
  <p><a
href=”javascript:openwindow(http://www.3ydesign.com)”>进入</a>

  <Script Language=”javascript”>   <!–   var Windowsheight=100
  var Windowswidth=100   var numx=5   function
openwindow(thelocation){   temploc=thelocation   if
  (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById))
  {     window.open(thelocation)     return   }
  windowsize=window.open(“”,””,”scrollbars”)
  windowsize.moveTo(0,0)   windowsize.resizeTo(100,100)
  tenumxt()   }   function tenumxt(){   if
(Windowsheight>=screen.availHeight-3)     numx=0
  windowsize.resizeBy(5,numx)   Windowsheight+=5   Windowswidth+=5
  if (Windowswidth>=screen.width-5)   {
    windowsize.location=temploc     Windowsheight=100
    Windowswidth=100     numx=5     return   }
  setTimeout(“tenumxt()”,50)   }   //–>   </script>
  <p><a
href=”javascript:openwindow()”>进入</a>

一7.改成IE地址栏的IE图标

一7.改变IE地址栏的IE图标

  大家要先做多个1陆*1六的icon(图标文件),保存为index.ico。把那些图标文件上传播根目录下并在首页<head></head>之间加上如下代码:

  大家要先做一个1陆*16的icon(图标文件),保存为index.ico。把那些图标文件上传到根目录下并在首页<head></head>之间加上如下代码:
          <link REL = “Shortcut Icon” href=”index.ico”>

  <link REL = “Shortcut Icon” href=”index.ico”>

1⑧.撤废选择、制止复制
        <body onselectstart=”return false”> 

18.在窗口的情状栏彰显滚动音信  
(一) 在BODY中进入代码 
<script language=”javascript”>  
var msg=”欢迎访问建站财富网,在那里有您会怀有收获的!”;  
var i=1  
function scroll()  
{  
mess=msg.substring(i,msg.length)+” “+msg.substring(0,i)  
window.status=mess  
i++;  
if (i>=msg.length) i=壹; //设置不停滚动 
setTimeout(“scroll()”,200); //设置滚动速度 
}  
</script>  
(2)在BODY标签中:  
<body onload=”scroll()”>  

1九.不准粘贴

1九、在页面加入当前时刻  

         onpaste=”return false”

<script language=”javascript”>  
tdy=new Date();  
document.write(“当前光阴:”,tdy.getHours());  
document.write(“:”,tdy.getMinutes());  
document.write(“:”,tdy.getSeconds());  
</script>  

20.制止复制

20、前进、后退按钮 
<input type=”button” value=”<-” onclick=”history.go(-1)”>  
<input type=”button” value=”->” onclick=”history.go(1)”>  

         oncopy=”return false;” oncut=”return false;” 

二1、参加页面最终修改日期  
<script language=”javascript”>  
document.write(“本页最后编辑日期:”);  
document.write(document.lastModified)  
</script>  

2一. 闭馆输入法

2二、前进、后退按钮 
<font onclick=”history.go(-1)”> 前一页</font>  
<font onclick=”history.go(-2)”> 前两页</font>  
<font onclick=”history.go(-3)”> 前三页</font>  
<font onclick=”history.go(1)”> 后一页</font>  
<font onclick=”history.go(2)”> 后两页</font>  
<font onclick=”history.go(3)”> 后三页</font>  
也可设置退后、前进多步 

         <input style=”ime-mode:disabled”> 

二三、鼠标事件 
<A HREF=”MAILTO:webmaster@jzzy.com”
onmouseover=”alert(“给自家写信”); return true”>信箱</A> 
鼠标放上去展现警告新闻 

2贰. 网页将无法被另存为

2肆、得到浏览器的属性 
navigator.appCodename=undefinednavigator.appName=Microsoft Internet
Explorernavigator.appVersion=4.0 (compatible; MSIE 5.0; Windows 98;
DigExt)navigator.appAgent=undefined  

        
<noscript><iframe src=*.html></iframe></noscript> 

25、打字与印刷整个页面 
<font onClick=”javascript:window.print()”>打字与印刷本页</font> 

二三. 最小化、最大化、关闭窗口

二陆、查看源码 
<input TYPE=”button” NAME=”view” value=”查看本页的源码”
onClick=”window.location=”view-source:” +window.location.href”
class=”pt九”> 

<object id=hh1 classid=”clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11″> 
<param name=”Command” value=”Minimize”></object>
<object id=hh2 classid=”clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11″> 
<param name=”Command” value=”Maximize”></object>
<OBJECT id=hh3 classid=”clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″>
<PARAM NAME=”Command” VALUE=”Close”></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>

贰七、刷新页面 
<font onClick=”history.go(0)”>刷新本页</font> 

24. 让表单未有凹凸感

2八、背景观变换 
<input TYPE=”button” value=”背景象变换” onClick=”BgButton()”> 
<script>function BgButton() 

if (document.bgColor==#00ffff)  

document.bgColor=#ffffff; 

else{document.bgColor=#00ffff; 


</script> 

<input type=text style=”border:1 solid #000000″> 

<input type=text style=”border-left:none; border-right:none; border-top:none; border-bottom: 

2玖、Title上海展览中心示音讯 
<script language=”javascript1.2″> 
<!–hide 
document.title=”后天是星期陆” 
//–hide–> 
</script> 

1 solid #000000″></textarea>

 

25.毫不滚动条

让竖条没有: 
<body style=”overflow:scroll;overflow-y:hidden”> 
</body> 
让横条未有: 
<body style=”overflow:scroll;overflow-x:hidden”> 
</body> 
三个都去掉?更简便易行了 
<body scroll=”no”> 
</body> 
2陆.脚本永不出错

<SCRIPT LANGUAGE=”JavaScript”> 
<!– Hide 
function killErrors() { 
return true; 

window.onerror = killErrors; 
// –> 
</SCRIPT>
27.ENTEPRADO键能够让光标移到下多个输入框
<input onkeydown=”if(event.keyCode==13)event.keyCode=9″>
2八.检查测试有些网址的链接速度

把之类代码加入<body>区域中:
<script language=Javascript>
tim=1
setInterval(“tim++”,100)
b=1
var autourl=new Array()
autourl[1]=”www.njcatv.net”
autourl[2]=”javacool.3322.net”
autourl[3]=”www.sina.com.cn”
autourl[4]=”www.nuaa.edu.cn”
autourl[5]=”www.cctv.com”
function butt(){
document.write(“<form name=autof>”)
for(var i=1;i<autourl.length;i++)
document.write(“<input type=text name=txt”+i+” size=10 value=测试中……> =》<input type=text 
name=url”+i+” size=40> =》<input type=button value=GO 

onclick=window.open(this.form.url”+i+”.value)><br>”)
document.write(“<input type=submit value=刷新></form>”)
}
butt()
function auto(url){
document.forms[0][“url”+b].value=url
if(tim>200)
{document.forms[0][“txt”+b].value=”链接超时”}
else
{document.forms[0][“txt”+b].value=”时间”+tim/10+”秒”}
b++
}
function run(){for(var i=1;i<autourl.length;i++)document.write(“<img src=” 

width=1 height=1 

onerror=auto(“
run()</script>
2九.文件上传进程中判断文件类型

<input type=file
onchange=”alert(this.value.match(/^(.*)(/.)(.{1,8})$/)[3])”>

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注