0%

动态加载Javascript脚本文件,可以更好的提高Javascript的读取效率
在不影响DOM的情况下,我们可以将一部分js文件动态加载,使页面响应更快速,
下面的代码可以作为动态加载进行使用,

利用自定义函数加载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function loadScript(url, callback){
var script = document.createElement("script"); //创建script标签
script.type="text/javascript";

//执行后提示,可以不用填写
script.onload = function(){
callback();
}

script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}

loadScript("js/script1.js", function(){
alert("Loaded!");
})

利用XMLHttpRequest脚本注入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const xhr = new XMLHttpRequest();
xhr.open("get", "js/script1.js", true); //使用open方法,GET 相应的js脚本文件
xhr.onreadystatechange = function(){
//使用onreadystatechange检查readystate状态是否为4,检测http状态码是不是2XX的有效相应额,还是304缓存读取相应。
if(xhr.readyState == 4){
if(xhr.status >=200 && xhr.status < 300 || xhr.status == 304){
let script = document.createElement("script");
script.type = "text/javascript";
script.text = xhr.responseText;
document.body.appendChild(script);
}
}
};
xhr.send(null);

Ubuntu21.04安装L2TP

安装L2TP服务器

首先下载一键安装包

1
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh

在下载的目录下执行以下命令修改执行权限
chmod +x l2tp.sh

运行程序
./l2tp.sh

安装过程中会遇到
Please enter IP-Range: 直接回车默认就好
Please enter PSK: 输入预共享密钥
Please enter Username: 输入用户名
Please enter teddysun's password: 输入密码

安装完后可以使用
ipsec verify 来确认是否运行

l2tp运行成功

阅读全文 »

Typora是一款编辑Markdown的常用工具,以界面美观,受到好多用户的好评。
同时它有Windows, Mac OS X, Linux三个平台的版本,并且它还是免费的。

我们这里就不介绍Typora的其他功能了。直接进入主题。

修改主题样式的前提

1、首先通过设置 打开 偏好设置 → 打开调试模式
调试模式

阅读全文 »

Google 高级搜索应用技术

语法 说明 演示
+ 搜索结果要求包含两个及两个以上的关键字 网站 +HTML5
- 表示逻辑“非”操作,排除相应的关键字 网站 -java
“”与() 可以用来搜索完整句子,可包括空格 “网站HTML5”
OR(要大些)与 搜索结果至少包含多个关键字中的任意一个
Intitle与allintitle 对网页标题的关键字查询 intitle:网站
Inurl与allinurl 查找网址链接的关键字 inurl:html5 网站
Intext与allintext 之搜索网页body部分中包含的文字 intext:网站
site: 搜索结果局限于某个具体网址或者网站频道 site:ttwinbug.com 网站
filetype与ext 用于文件文档搜索 filetype:pdf 网站
link 搜索所有链接到某个URL地址的网页 link:www.ttwinbug.com
related: 用来搜索结构内容方面相似的网页 related:www.ttwinbug.com
cache: 从Google服务器上缓存页面中查询信息 cache:ttwinbug.com
info: 用来显示与某连接相关的一系列搜索 info:ttwinbug.com

robots.txt写法
robots.txt是网站seo优化中起着很重要的作用,robots.txt是搜索引擎访问网站时需要查看的第一个文件,搜索引擎蜘蛛来到一个站点,首先要检查站点根目录下是否存在robots.txt,如果有,就会按照该文件中的内容确定访问范围,如果该文件不存在就会随意抓取,可能会抓到到重复路径或错误页面。下面我就和大家说说 rotbots.txt写法 ,希望对大家有所帮助。

阅读全文 »

今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式。分别是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式。
什么是jsonp格式呢?API原文:如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。意思就是远程服务端需要对返回的数据做下处理,根据客户端提交的callback的参数,返回一个callback(json)的数据,而客户端将会用script的方式处理返回数据,来对json数据做处理。JQuery.getJSON也同样支持jsonp的数据方式调用。

客户端JQuery.ajax的调用代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$.ajax({
type : "get",
async:false,
url : "http://www.xxx.com/ajax.do",
dataType : "jsonp",
jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
jsonpCallback:"success_jsonpCallback",//callback的function名称
success : function(json){
alert(json);
alert(json[0].name);
},
error:function(){
alert('fail');
}
});
阅读全文 »