零艺江湖 - 行到水穷处,坐看云起时 | 个人生活记录 | 零艺客 - JavaScript
type: channel
link: https://www.lykep.com/index.php/tag/JavaScript/
items: 【分享】燃鹅解密PHP版，可做接口
items: 【笔记】Js跳到指定的位置
items: 【笔记】Javascript刷新跳转的几种方法
items: 【笔记】js阻止a标签默认跳转
items: 【笔记】jQuery点击节点事件与input事件
items: 【笔记】JavaScript 输出 JSON数据
items: 【笔记】JavaScript 高兼容复制内容代码
items: 【笔记】JavaScript 模拟PHP获取GET参数
items: 【笔记】为网站添加运行天数Js
items: 【笔记】JavaScript禁止查看网页源代码

【分享】燃鹅解密PHP版，可做接口
type: item
date: 2021-02-25T21:46:00+08:00
description: 序[scode type="share"]没什么好说的，蹭个热度，燃鹅解密，直接上代码。[/scode]PHP版<?php /* * @Author: ZeroArt * @Date: 2021-02-25 21:41:02 * @Link: http://lykep.com * @LastEditors: ZeroArt * @LastEditTime: 2021-02-25 21:41:30 * @Description: */ class rane { // utf8编码 function decodeUtf8($bytes) { $encoded = ""; for ($i = 0; $i < count($bytes); $i++) { $encoded .= '%' . dechex($bytes[$i]); } return urldecode($encoded); } // 数组转字符串 function dec($t) { if (is_string($t)) { return $t; } else { $n = []; for ($i = 0; $i < count($t); $i++) { $n[] = $t[$i]; } } return $this->decodeUtf8($n); } // hex字符串转数组 public function n($t) { $e = 0; $n = strlen($t); if ($n % 2 != 0) { return null; } else { $n /= 2; $o = []; for ($i = 0; $i < $n; $i++) { $r = substr($t, $e, 2); $a = hexdec($r); $o[] = $a; $e += 2; } $os = []; foreach ($o as $key => $value) { $os[] = $value; } return $os; } } // 加解密核心算法 function m($t, $e) { $a = []; $n = ""; $o = count($e); $i = ($t ^ $o) % 255; $r = (($o & $i) + ($t ^ $i)) % 255; $a = []; $s = 0; for ($s = 0; $s < $o; $s++) { $i -= ($r * $o ^ $t) % 255; $t -= $r; $n = 255 & (($n = $e[$s]) ^ ($r = $i % 255)); $a[] = $n; } return $a; } } $rane = new rane(); // 常规模式 if (isset($_GET['t']) && isset($_GET['v'])) { echo ($rane->dec($rane->m($_GET['t'], $rane->n($_GET['v'])))); exit(); } // JOSN格式 if (isset($_GET['json']) || isset($_POST['json'])) { $param = json_decode($_REQUEST['json'], true); echo ($rane->dec($rane->m($param['t'], $rane->n($param['v'])))); exit(); } // 案例 if (isset($_GET['dome'])) { echo ($rane->dec($rane->m('59131814', $rane->n('ad88eff390bd7706d24a93f04727c0d61f886f3f4922680c5cb7f8716073379a625845875d6708477d3014f31e575098b983ce709bd1f7f3f7fa63f6e12eb216ade7a43e314048cc80d73c18d6a8d72cb1f231593b4aa9ef56a170fbf9db23d07048589053d56fa4bafdbbe8b52720d938f6b4f85a2dd0092805fc2c6aa4c8fd3b92a89c7786368eb0e979d96c03831412d23d008a491b68295d893c77251902dba8ee84fe390efbee01d65815254bd9bbe1bd7e12b1fc0542bfc893d0ac83c3b7abafbc6328aa37f89a378fce83e01d49d19ef4ed20893993870501fdef066…

【笔记】Js跳到指定的位置
type: item
date: 2020-01-07T23:11:00+08:00
description: 序写APi接口文档时为了方便浏览，需要个动态的菜单，简单的实现了下，代码记录。[...]

【笔记】Javascript刷新跳转的几种方法
type: item
date: 2019-11-25T10:37:02+08:00
description: 1、reload 方法，该方法强迫浏览器刷新当前页面。语法：location.reload([bForceGet]) 参数： bForceGet， 可选参数， 默认为 false，从客户端缓存里取当前页。true, 则以GET方式，从服务端取最新的页面,相当于客户端点击 F5("刷新")2、replace 方法该方法通过指定URL替换当前缓存在历史里（客户端）的项目，因此当使用replace方法之后，你不能通过“前进”和“后退”来访问已经被替换的URL。语法： location.replace(URL) 在实际应用的时候，重新刷新页面的时候，我们通常使用： location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面，所以页面的method="post"的时候，会出现"网页过期"的提示。那是因为Session的安全保护机制。可以想到： 当调用 location.reload() 方法的时候， aspx页面此时在服务端内存里已经存在， 因此必定是 IsPostback 的。如果有这种应用： 我们需要重新加载该页面，也就是说我们期望页面能够在服务端重新被创建， 我们期望是 Not IsPostback 的。这里，location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。 你可以这么写： location.replace(location.href);返回并刷新页面： location.replace(document.referrer); document.referrer //前一个页面的URL 不要用 history.go(-1)，或 history.back();来返回并刷新页面，这两种方法不会刷新页面。3、Javascript刷新页面的几种方法：1、history.go(0)2、location.reload()3、location=location4、location.assign(location)5、document.execCommand('Refresh')6、window.navigate(location)7、location.replace(location)8、document.URL=location.href4、自动刷新页面的方法:1、页面自动刷新：把如下代码加入区域中2、页面自动跳转：把如下代码加入区域中

【笔记】js阻止a标签默认跳转
type: item
date: 2019-10-16T16:29:00+08:00
description: 封装函数// 阻止默认跳转 function stopDefault(e) { if (e&&e.preventDefault){ e.preventDefault(); }else{ window.event.returnValue = false; return false; } } 函数调用//方法一 $(document).ready(function(){ $(document).on('click','a',function(e){ stopDefault(e); }); }); //mui-app方法 mui('#newsContent').on('tap', 'a', function(e) { stopDefault(e); });

【笔记】jQuery点击节点事件与input事件
type: item
date: 2019-08-04T20:14:00+08:00
description: [scode type="green"]jQuery获取当前点击的元素[/scode]/*jQuery获取当前点击的元素*/ $('input').click(function(e){ e.val(1);}); /**/[button color="success" icon="" url="https://www.sogou.com/link?url=DSOYnZeCC_poMW3eALYnVjTkIO_Fjowymdz37fgH7Jz6r0lA8_cVGJgnn2m3UKeGZQejMp6UPj2vmRdDYWyao2mlYie_BxOLfyWOyBgnVOPshHJCEAlQW1aq9CP3qIfDmHrgg8_PIU0." type=""]原文地址[/button][scode type="green"]jQuery input点击事件[/scode]/*jQuery input点击事件*/ $("input").each(function(i,_i){ if($(_i).is(':checked')){ alert("选中");/*选中后执行*/ }else{ alert("未选中"); } }); [scode type="green"]jQuery当前节点事件[/scode]/判断选择框选择情况 编写选择框异步提交时遇到的问题/$('input').click(function(){ /*$(this) 当前节点内容*/ $(this).each(function(i,_i){ if($(_i).is(':checked')){ $(this).val('ON');/*当选中 设置值ON*/ }else{ $(this).val('OFF');/*选中取消 设置值OFF*/ } }); });

【笔记】JavaScript 输出 JSON数据
type: item
date: 2019-04-30T10:30:00+08:00

【笔记】JavaScript 高兼容复制内容代码
type: item
date: 2019-04-22T18:49:00+08:00
description: 你好啊！ <！--onClick="CopyAdd()" 点哪里加哪里--> 复制

【笔记】JavaScript 模拟PHP获取GET参数
type: item
date: 2019-04-22T18:12:00+08:00
description: var $_GET = (function(){ var url = window.document.location.href.toString(); var u = url.split("?"); if(typeof(u[1]) == "string"){ u = u[1].split("&"); var get = {}; for(var i in u){ var j = u[i].split("="); get[j[0]] = j[1]; } return get; } else { return {}; } })(); 使用方式 $_GET['get参数'], 即可直接获得GET参数的值function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串 var get_par = local_url.slice(par.length + get + 1); //判断截取后的字符串是否还有其他get参数 var nextPar = get_par.indexOf("&"); if(nextPar != -1){ get_par = get_par.slice(0, nextPar); } return get_par; }

【笔记】为网站添加运行天数Js
type: item
date: 2019-04-13T19:20:00+08:00
description: function show_date_time(t){ window.setTimeout("show_date_time()", 1000); BirthDay=new Date(t); today=new Date(); timeold=(today.getTime()-BirthDay.getTime()); sectimeold=timeold/1000; secondsold=Math.floor(sectimeold); msPerDay=24*60*60*1000; e_daysold=timeold/msPerDay; daysold=Math.floor(e_daysold); e_hrsold=(e_daysold-daysold)*24; return daysold; }

【笔记】JavaScript禁止查看网页源代码
type: item
date: 2019-04-11T16:02:00+08:00
description: JS禁止查看网页源代码的简单实现方法