脚本

js延迟加载的方式有哪些?

泪湿孤枕 提交于 2020-02-11 01:10:38
共有:defer和async、动态创建DOM方式(用得最多)、按需异步载入js defer属性 :(页面load后执行) HTML 4.01 为 <script> 标签定义了 defer 属性。 用途:表明脚本在执行时不会影响页面的构造。也就是说, 脚本会被延迟到整个页面都解析完毕之后再执行 。 在 <script> 元素中设置 defer 属性,等于告诉浏览器立即下载,但 延迟执行 。 <head> <script src="test1.js" defer="defer"></script> <script src="test2.js" defer="defer"></script> </head>    async 属性:(页面load前执行) HTML5 为 <script> 标签定义了 async 属性。与 defer 属性类似,都用于改变处理脚本的行为。同样,只适用于 外部脚本文件 。 目的:不让页面等待脚本下载和执行,从而异步加载页面其他内容。异步脚本一定会在页面 load 事件前执行。 不能保证脚本会按顺序执行。 <head> <script src="test1.js" async></script> <script src="test2.js" async></script> </head> <body>    动态创建Dom: //这些代码应被放置在</body

js异步

这一生的挚爱 提交于 2020-02-10 22:52:18
默认情况下的javascript是同步加载的,这里的加载可以理解成为解析执行。也就是js加载时是阻塞的,先加载完js,在加载css和dom。过多js加载会影响页面效率,一旦网速不好,那么整个网站将会等待js加载而不进行后续渲染工作。所以这时就会设置异步加载 常见的异步加载有三种方法: 1.在script标签中设置defer,等待dom解析完成才会执行,但是这个方法有局限性,只有IE才能用 <script defer></scrpit> 2.async,等待dom加载完成才会执行 <script async></script> 3.动态添加script标签 function loadScript(url,callback){ var script = document.createElement("script"); script.type = "text/javascript"; if(script.readyState){//兼容IE script.onreadystatechange = function(){ if(script.readyState =="complete" || script.readyState == "loaded"){ obj[callback]() } } }else{ script.onload = function(){ obj

jQuery的ajax里dataType预期服务器返回数据类型

萝らか妹 提交于 2020-02-10 17:14:55
前言:   jquery异步请求ajax()之dataType参数讲解 (1)dataType简介: 从服务器返回你期望的数据类型(意思是指服务器返回数据后,在执行success方法前,前端jquery先对结果转成你设定的数据类型)。如果没有指定,jQuery将尝试通过MIME类型的响应信息来智能判断,例如java服务端设置response.setContentType(MIME)和ajax的属性contentType都可以设置MIME类型,其作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。(一个XML MIME类型就被识别为XML,在1.4中 JSON将生成一个JavaScript对象,在1.4中 script 将执行该脚本,其他任何类型会返回一个字符串)。 (2)可用的类型(以及结果作为第一个参数传递给成功回调函数) "xml": 返回XML文档,可以通过jQuery处理。 "html": 返回纯文本HTML文本;包含的script标签会在插入DOM时执行。 "script": 把响应的结果当作JavaScript 执行,并将其当作纯文本返回。默认情况下会通过在URL中附加查询字符串变量 ,_=[TIMESTAMP], 禁用缓存结果,除非设置了cache参数为true。注意: 在远程请求时(不在同一个域下)

PHP笔记

十年热恋 提交于 2020-02-10 02:45:10
//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出。 /* 【命名规则】 */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建议用下划线方式分隔 // $var_name 函数名建议用驼峰命名法 // varName 定界符建议全大写 // <<<DING, <<<'DING' 文件名建议全小写和下划线、数字 // func_name.php 私有属性名、方法名建议加下划线 // private $_name _func 接口名建议加I_ // interface I_Name /* 语言结构 */ array(), echo(), empty(), eval(), exit(), isset(), list(), print(), unset() echo, print 可省略括号。 /* 预定义常量 */ PATH_SEPARATOR //路径分隔符(Windows为分号,类Unix为冒号) DIRECTORY_SEPARATOR //目录分隔符 PHP_EOL //当前系统的换行符 PHP_VERSION //PHP版本号 PHP_OS //PHP服务操作系统 PHP_SAPI //用来判断是使用命令行还是浏览器执行的,如果 PHP_SAPI=='cli' 表示是在命令行下执行 PHP_INT_MAX

SpringMVC: Ajax技术

 ̄綄美尐妖づ 提交于 2020-02-09 23:26:06
SpringMVC:Ajax技术 简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。 在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest能够自动帮你完成搜索单词。 Google Suggest 使用 AJAX 创造出动态性极强的 web 界面:当您在谷歌的搜索框输入关键字时,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。 就和国内百度的搜索框一样: 传统的网页(即不用ajax技术的网页),想要更新内容或者提交一个表单,都需要重新加载整个网页。 使用ajax技术的网页,通过在后台服务器进行少量的数据交换,就可以实现异步局部更新。 使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。 伪造Ajax 我们可以使用前端的一个标签来伪造一个ajax的样子。 iframe标签 新建一个module : sspringmvc-06-ajax , 导入web支持! 编写一个 ajax-frame.html

AJAX---JSONP

守給你的承諾、 提交于 2020-02-09 16:57:59
JSONP 是一种借助于 script 标签发送跨域请求的技巧 其原理就是在客户端借助 script 标签请求服务端的一个动态网页(php 文件) 服务端的这个动态网页返回一 段带有函数调用的 JavaScript 全局函数调用的脚本,将原本需要返回给客户端的数据传递进去。 以后绝大多数情况都是采用 JSONP 的手段完成不同源地址之间的跨域请求 总结: 由于 XMLHttpRequest 无法发送不同源地址之间的跨域请求,所以借助于script标签 来实现,并称之为 JSONP (如果不了解原理,先记住怎么用,多用一段时间再 来看原理) 1. JSONP 需要服务端配合,服务端按照客户端的要求返回一段 JavaScript 调用客户端的函数 2. 只能发送 GET 请求 JSONP客户端 function jsonp(url, params, callback) { var funcName = 'jsonp_' + Date.now() + Math.random().toString().substr(2, 5) if (typeof params === 'object') { var tempArr = [] for (var key in params) { var value = params[key] tempArr.push(key + '=' + value)

学习进度

自古美人都是妖i 提交于 2020-02-09 14:14:41
今天通过观看老师分享的教学视频,基本上了解了jquery的用途以及简单的使用方法。今天学习了用jquery重做之前用Java script完成的表格的隔行换色操作。首先,只要用到jquery,我们就需要导入一个js库,其代码为:<script type="text/javascript" src="jquery-1.8.3.js"></script>。导入之后便可以使用jquery了。对表格的操作与之前一样,把表头和数据分别放在thead和tbody里面。然后编写script标签,与Java script不同,在jquery中函数的前面需要加上一个$符号:$(function(){});像这样把函数放在括号里面然后利用标签选择器来获取表格的偶数行,代码为:$("tbody tr:even")。然后对其修改背景颜色(黄色):$("tbody tr:even").css("background-color","yellow");。同样的方法,把表格的奇数设为绿色:$("tbody tr:odd").css("background-color","green");。这样便实现了表格的隔行换色,明显要比Java script要简单的多。 来源: https://www.cnblogs.com/lijiawei1-2-3/p/12286770.html

基础原理与干货

烈酒焚心 提交于 2020-02-09 00:24:50
script标签原理 script标签里的type属性 只要不是text/javascript,则不会被作为脚本执行,内容也会被显(display:none),所以script标签被用来作为art-template模板 记住:客户端是异步请求的,服务端的异步请求是无效的 link标签 link标签本意是链入一个文档,通过rel属性声明链入的文档与当前文档之间的关系,只不过当rel属性是stylesheet时候,会变成请求css script标签: src引入文件后,相当于在script标签体内执行一遍 来源: CSDN 作者: 睡神大人 链接: https://blog.csdn.net/weixin_42452726/article/details/104221577

再次理解JSONP

久未见 提交于 2020-02-08 23:48:00
window.callback = function(result) { console.log(result); }; var JSONP = document.createElement('script'); JSONP.type = 'text/javascript'; JSONP.src = "https://opendata.baidu.com/api.php?query=%E5%85%A8%E5%9B%BD&resource_id=39258&tn=wisetpl&format=json&cb=" + callback; document.getElementsByTagName("head")[0].appendChild(JSONP); 理解如下: 1、jsonp的原来就是动态向html中插入script标签 2、此script标签的src是请求的接口,因为src是get的请求方式,所以jsonp只适合用于get请求 3、src链接后面的cb回调函数,是需要和后台协商一致的,后台会把数据当做回调函数的参数传进来,所以jsonp是需要后台配合的 4、由于script标签使用src引入资源,在当前页面中是会直接执行的,所以等结果请求返回之后,cb回调函数就是立即执行,拿到后台的数据 至此完毕 来源: https://www.cnblogs.com/gopark/p

ubuntu-18.04 设置开机启动脚本

烈酒焚心 提交于 2020-02-08 17:06:57
ubuntu-16.10 开始不再使用initd管理系统,改用systemd 执行 ls /lib/systemd/system 你可以看到有很多启动脚本,其中就有我们需要的 rc.local.service # SPDX - License - Identifier : LGPL - 2.1 + # # This file is part of systemd . # # systemd is free software ; you can redistribute it and / or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation ; either version 2.1 of the License , or # ( at your option ) any later version . # This unit gets pulled automatically into multi - user . target by # systemd - rc - local - generator if / etc / rc . local is executable . [ Unit ]