js代码

rails中的Controller Specific Assets

半城伤御伤魂 提交于 2019-12-06 18:55:23
默认下,pipeline就是加载一个大的application.js和application.css,这里最大的一个问题是,打开一个页面,不管要不要,都得把所有的js和css都加载,我感觉这很不妥,不说文件个头较大,还有可能出现冲突。所以我认为每个页面只要加载公共的js和css 及 这个页面所需的js和css即可,其实在guide中提到了一个方法,就是 Controller Specific Assets ,但是只是简单的交代了一下,该怎搞,如下: 首先,改造application.js和application.css,将require_tree去掉,只明确地加载需要的公共文件。 第二,改造layouts/application.html.erb <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= javascript_include_tag params[:controller] %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> <%= stylesheet_link_tag params[:controller] %> 第三

对 js加密数据进行爬取和解密

折月煮酒 提交于 2019-12-06 18:28:24
对 js加密数据进行爬取和解密 分析: 爬取的数据是动态加载 并且我们进行了抓包工具的全局搜索,没有查找到结果 意味着:爬取的数据从服务端请求到的是加密的密文数据 页面每10s刷新一次,刷新后发现数据更新,但是浏览器地址栏的url没有变,说明加载出的数据是由ajax请求到的。 动态加载出来的数据是由ajax请求到的,并且请求到的数据为加密数据 定位到ajax数据包,从中可以看到url和动态变化的请求参数和加密的相应数据 将ajax请求到的密文数据捕获 动态的获取动态变化的请求参数 基于抓包工具进行了动态变化请求参数taken的全局搜索,定位到了taken产生的源头,就是如下js代码: var token = md5(String(page) + String(num) + String(timestamp)); 对密文数据进行解密 通过分析找到了解密的js函数:decode_str(encode_str),encode_str就是密文数据 查找encode_str的实现: js逆向:将js代码转换成python代码。开发环境只能执行python代码 首先将js代码中的ASCII码进行转换: function decode_str(scHZjLUh1) { #Base64.decode(scHZjLUh1) scHZjLUh1 = Base64["\x64\x65\x63\x6f

js获取浏览器类型和语言

那年仲夏 提交于 2019-12-06 17:11:56
js代码如下: <script type="text/javascript"> // 获取终端的相关信息 var Terminal = { // 辨别浏览器类型 browserType : function(){ var u = navigator.userAgent.toLowerCase(); return { WeChat : u.match(/MicroMessenger/i) == 'micromessenger', // 在微信中打开 Weibo : u.match(/WeiBo/i) == "weibo", // 在新浪微博客户端打开 qq : u.match(/QQ/i) == "qq" // 在QQ空间打开 }; }(), // 辨别移动终端类型 platform : function(){ var u = navigator.userAgent; return { //IE内核 windows: u.indexOf('Windows') > -1, //opera内核 presto: u.indexOf('Presto') > -1, //苹果、google内核 webKit: u.indexOf('AppleWebKit') > -1, //火狐内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') ==

Js关闭浏览器网页

房东的猫 提交于 2019-12-06 16:51:51
  前面写到在浏览器的--kiosk模式下F11无效,无法退出,提到一种解决办法,写JS实现Alt+F4来退出页面,现在有一种更简便的方法,在此记录一下。   附上Js代码   function closeFullScreen(){   (new ActiveXObject("WScript.Shell")).run("taskkill /f /t /im 360se.exe",0);   };   代码很简单,就是js调用Active控件杀死进程,我这里是360的浏览器进程【360se.exe】。   这个方法需要打开Internet选项——安全——自定义级别——ActiveX 控件和插件,相关的启用一下,默认的是禁用。            还有一点,如果是用360浏览器需要在兼容模式下才行,不然找不到“Active”。   默认开启360兼容模式的设置方法:   右击360浏览器的快捷方式——属性——兼容性——勾选“以兼容模式运行这个程序”——应用——确定。    总结:    JS调用Actice空间执行cmd命令杀死某项任务进程,来实现关闭浏览器网页的效果。   如有错误或更好地建议,欢迎大家评论指出,互相学习进步,Thanks~ 来源: https://www.cnblogs.com/du-shouxin/p/11995596.html

js如何把a标签里面的值传递到函数里面

佐手、 提交于 2019-12-06 16:35:51
----------------------a标签如何定 如何传参到函数---------------------- 1.<a></a>标签 如何传参到函数 <a class="btn bg-olive btn-xs" href="javascript:void(0);" id="del" onclick=deleteRoles("${role.id}"); >删除角色</a> 2.js代码 /*删除角色提示信息---------------------*/ function deleteRoles(id) {//单删 //判断 if (confirm("确定删除?")){//confirm:点击确认就执行 ,单击取消不支持 location.href="${pageContext.request.contextPath}/role/deleteRole.do?id="+id;//把id传递到controller中 } } View Code ----------------------button按钮如何定义单击函数---------------------- 1.在button表签设置onclick="fun1()" 点击跳转的函数 定义id <button type="button"onclick="fun1()" id="delSelected1">删除</button>

JS 的5个不良编码习惯(转)

六月ゝ 毕业季﹏ 提交于 2019-12-06 16:24:57
原文链接 在阅读JavaScript代码时,你是否有过这种感觉 你几乎不明白代码的作用? 代码使用了很多 JavaScript 技巧? 命名和编码风格太过随意? 这些都是不良编码习惯的征兆。 在这篇文章中,我描述了JavaScript中常见的5种不良编码习惯。重要的是,本文会给出一些可行的建议,如何的摆脱摆脱这些习惯。 1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。 如果使用得当,这是一个好处,因为它给你带来了灵活性。 大多数运算符 + - * / == (不包括 === )在处理不同类型的操作数时会进行隐式转换。 语句 if(condition){...} , while(condition){...} 隐式地将条件转换为布尔值。 下面的示例依赖于类型的隐式转换,这种有时候会让人感到很困惑: console.log("2" + "1"); // => "21"console.log("2" - "1"); // => 1console.log('' == 0); // => trueconsole.log(true == []); // -> falseconsole.log(true == ![]); // -> false 过度依赖隐式类型转换是一个坏习惯。 首先,它使你的代码在边缘情况下不太稳定。 其次,增加了引入难以重现和修复的bug的机会。

js贪吃蛇(构造函数)

痴心易碎 提交于 2019-12-06 16:20:07
给大家分享一下这几天我研究的一个贪吃蛇,挺简单的,但是实现起来其实有点绕的,我给大家附上完整代码,一起分析学习一下,主要用的是构造函数。       思想: 1、设计蛇:属性有宽、高、方向、状态(有多少节),方法:显示,跑 2、设计食物:属性宽、高 3、显示蛇:根据状态向地图里加元素 4、蛇跑起来:下一节到前一节的位置,蛇头根据方向变,删除原来的蛇,新建蛇;当出界时,死亡,初始化;当蛇头吃到自己的时候,死亡,初始化 5、食物被吃掉,蛇加一节,去掉原来的食物,生成新的食物 6、添加定时器,绑定按键 这里先给大家简单的说一下构造函数: 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象 成员变量 赋初始值,总与new 运算符 一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的 重载 。 new data(); 然后开始我们的贪吃蛇之旅: 1.设置变量,定义蛇的初始状态 1 // 设置蛇的宽、高、默认走的方向 2 this.width = 10; 3 this.height = 10; 4 this.direction = 'right'; 5 6 // 记住蛇的状态,当吃完食物的时候,就要加一个,初始为3个小点为一个蛇, 7 this.body = [ 8 {x:2, y:0}, // 蛇头

前端性能优化 css和js的加载与执行

╄→гoц情女王★ 提交于 2019-12-06 15:56:23
一个网站在浏览器端是如何进行渲染的? html本身首先会被渲染成 DOM 树,实际上 html 是最先通过网址请求过来的,请求过来之后,html 本身会由一个字节流转化成一个字符流,浏览器端拿的就是字符流,然后通过词法分析之后,将相应的语法分析成相应的 token ,比如说 header token, 转化不同的 token tag ,然后通过 token 类型 append 到 dom 树。 遇到 link token tag,然后去请求 css ,请求过来之后再去对 css 进行解析,生成 CSSOM ,然后和 DOM 树进行结合形成 Render Tree 这样的渲染树。然后再进行布局和渲染。 遇到 script tag ,然后去请求 JS 相关的 web 资源,请求回来的 js 会交给浏览器的 v8 引擎进行解析, HTML渲染过程的一些特点 1、顺序执行 因为他是使用词法分析的能力,从上到下依次分析整个html,tag 相应的情况,所以第一个特点是顺序执行。词法分析是对 html 这个文档解析的一个方式,对 tag 依次从上到下解析,这个从上到下决定了很多阻塞的情况。 2、并发加载 我们的html中可能会引入很多的 css,js 的 web 资源,这些 web 资源在浏览器端是并发加载的,这里需要优化的一点就是这个并发加载过程的并发度是受我们浏览器域名限制的。所以会设置

ECMAScript 6

此生再无相见时 提交于 2019-12-06 15:19:27
本文出自珠峰培训: http://www.zhufengpeixun.cn/ahead/html/1.ES2015.html 1. 作用域变量 作用域就是一个变量的作用范围。也就是你声明一个变量以后,这个变量可以在什么场合下使用 以前的 JavaScript 只有全局作用域,还有一个函数作用域 1.1 var的问题 var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改。 if (true) { var a = "a"; // 期望a是某一个值 } console.log(a); var在for循环标记变量共享,一般在循环中使用的i会被共享,其本质上也是由于没有块级作用域造成的 for (var i = 0; i < 3; i++) { setTimeout(function () { alert(i); }, 0); } 1.2 块级作用域 在用var定义变量的时候,变量是通过闭包进行隔离的,现在用了let,不仅仅可以通过闭包隔离,还增加了一些块级作用域隔离。 块级作用用一组大括号定义一个块,使用 let 定义的变量在大括号的外面是访问不到的   1.2.1 实现块级作用域 if(true){ let name = 'zfpx'; } console.log(name);// ReferenceError: name

4.7.3 JS〇N、XML还是其他

柔情痞子 提交于 2019-12-06 15:12:29
由于服务端使用标准文本形式的响应,所以客户端可以很灵活地对资源进行使用,而基于 HTTP的REST能够提供多种不同的响应形式。到目前为止我们看到的例子都是XML的, 但事实上目前JSON更加流行。 JSON无论从形式上还是从使用方法上来说都更简单。有些支持者认为,相比XML, JSON的内容更加紧凑,这为选用JSON增加了砝码,虽然真实世界中这并不是太重要的 问题。 但是JSON也有一些缺点。XML使用链接来进行超媒体控制。JSON标准中并没有类似的 东西,所以出现了很多不同的自定义的方式在JSON中进行超媒体控制。HAL (Hypertext Application Language,超文本应用语言, http://stateless.co/hal_specificadon.html )试图为 JSON (也包括XML,虽然大家普遍认为XML不需要它的帮助)定义通用的超文本标准 格式。如果你遵守HAL的标准,就可以使用基于Web的HAL游览器来使用超媒体控制, 这会使创建客户端简单得多。 当然并不是说只有这两种格式。通过HTTP我们可以发送任何格式,甚至是二进制的。我 看到越来越多的人直接使用HTML,而非XML。对于有些接口来说,HTML既可以做 UI,也可以做API,当然这么做是很容易出错的,因为与人类之间的交互,和与计算机之 间的交互的差异是很大的