Html页面异步加载资源文件

同步加载cssjs资源文件造成阻塞,网页打开慢

异步加载方法一

  • 通过 JS 动态插入 link 标签来异步载入 CSS 代码,就像这样:
var myCSS = document.createElement( "link" );
myCSS.rel = "stylesheet";
myCSS.href = "mystyles.css";
document.head.insertBefore( myCSS, document.head.childNodes[ document.head.childNodes.length - 1 ].nextSibling );
  • 实现原理: 后续 JS 执行的时候,去创建一个 link 标签来加载 CSS 代码

异步加载二

  • 利用 link 上的 media 属性,将它设置为和用户当前浏览器环境不匹配的值,比如:media="print",甚至可以设置为一个完全无效的值 media="css-async" 之类的, 浏览器就会进行异步加载。加载完成后让css 生效, 使用onload="this.media='all'
<link rel="stylesheet" href="path/cssfile.css" media="jscourse" media="css-async" onload="if(media!='all')media='all'" rel="stylesheet">

异步方法三

  • 使用新规范rel="preload",例子如下

    • 加载完成后通过onload修改rel
    <link rel="preload" href="cssfile.css" as="style" onload="this.rel='stylesheet'">
    • 使用as预设属性
    <link rel="preload" href="scriptfile.js" as="script">
  • preload 中的 as 属性支持一下属性
audio
document
embed
fetch
font
image
object
script
style
track
worker
video

BT宝塔安装与账号免登录

宝塔基本安装

    使用 SSH 连接工具,如堡塔SSH终端连接到您的 Linux 服务器后,挂载磁盘,根据系统执行相应命令开始安装(大约2分钟完成面板安装):

Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
Debian安装脚本 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
Fedora安装脚本 wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

免登陆修改

  • 登陆页面为前端加载效果
  • 绕过修改js文件/www/server/panel/BTPanel/static/js/index.js,将function show_force_bind() 取消即可

nginx重新规则注意事项

nginx rewrite 重写使用

  • rewrite url 后没达到理想结果,php内容变为直接暂时源码。
  • 排查对比,rewrite old_url new_url last; 在正则location 下不生效

    location ^~ /ext_url {

     rewrite . /new_url.php last; # 不生效,将location 改为普通匹配即可

    }

python字符format串格式化输出大括号

str format输出 {} 方法

字符串中包含{}的情况,单个{}会被解析为填入内容,使用{{}}输出{}

print('我想生成一段含有{}的字符串, 填充内容为 {} '.format('string'))
print('我想生成一段含有{{}}的字符串, 填充内容为 {} '.format('string'))