通常在开发大型项目或国际项目的时候,我们都需要增加国际化模块,使网站可以显示多语言。我的思路是,每个语言分不同的文件,检测用户语言环境或通过用户设置来判断调用哪个语言文件,而在开发中程序员又能清楚到底是什么意思。由于我们不需要兼容IE,所以只使用navigator.language来获取用户语言。第一步:我们需要有个入口文件新建一个languge.js文件,这个文件主要功能为:获取Cookie中是否存在lang值,如果不存在则检测用户语言环境,并获取语言编码储存到Cookie,之后再调用相应的语言文件输出。// 引入js-cookie import Cookies from 'js-cookie' // 获取cookie中lang值 var lang = Cookies.get('lang'); // 如果lang值不存在则设置lang值(第一次访问) if (!lang) { // 如果用户语言环境为zh-CN则设置lang值为zh,并储存到cookie中 if (navigator.language == 'zh-CN') { lang = 'zh'
前言:以往都是使用的LNMP自动生成Let's Encrypt免费证书,但前几天cloudflare买了一个域名后,到了在服务器创建主机的阶段卡住了,原因是没办法修改cloudflare dns,不清楚是我创建的api权限没给够还是其他什么原因,最后申请了几次没申请到,反而请求频繁了。所以只能使用cloudflare的证书来给网站上ssl了。以前我并没有使用过cloudflare的证书,也基本没用过这个网站,这一看,好家伙,cloudflare的证书有效期最长可以达到15年,完全不用每次到期再更换了。第一步:打开小云朵,让cloudflare代理你的流量第二步:进入你的域名,然后选择SSL/TLS选择加密模式为完全(严格)第三步:进入SSL/TLS下的源服务器,点击创建证书第四步:这里默认就好,点击创建,生成的是通配符证书第五步:上面的是pem下面的是key。复制里面的内容,然后创建对应的.pem文件和.key文件上传到服务器第六步:在nginx配置文件里添加下面圈出的代码,指向ssl文件第七步:重启你的Nginx,现在你就可以看到你的网站已经可以使用HTTPS来访问了,如果你想使所有
在开发移动网页端的时候,总会遇到手机浏览器适配混乱,滚动条屡禁不止,以下提出一种解决方案——通过禁用全局触摸并允许局部触摸达到禁止效果。第一步:如果使用Vue开发,可以在Public/index.html入口处添加该代码,如果未使用框架,可单独创建Config文件进行全局引入。document.body.addEventListener('touchmove', function(e){ e.preventDefault(); }, { passive: false });第二步:允许局部块触摸(使用ID获取的节点是一维数组。使用ClassName获取的节点是二维数组)var div = document.getElementsByClassName("divclassname"); div = div[0]; div.ontouchmove = function (ev) { ev.stopPropagation(); };注:有个小Bug,在IOS系统下,触摸局部有几率会让地址栏收回导致布局出现变动,并导致全局滚动条出现,做好UI的适配可解决布局
创建eth0网卡文件touch /etc/sysconfig/network-script/ifcfg-eth0 vi /etc/sysconfig/network-script/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static (系统启动地址协议;none同static,配置为静态IP;dhcp,配置为动态IP,自动获取) NAME=eth0 (名称) DEVICE=eth0 (网卡名称,必与该配置文件后缀的名称相同) ONBOOT=yes (系统启动时是否激活) IPADDR=192.168.128.128 (ip地址) 重启网卡service network restart 或 systemctl restart network 如果eth0网卡文件没有错误但还是无法重启,则可能是NetworkManager接管了,只需要禁用掉NetworkManager就OK临时禁用 service NetworkManager stop 或 system
全局安装nodejs和vuejs后,当时可以使用全局命令,但是重启后就找不到了可以通过全局软连接的方式来使用nodeJssudo ln -s /root/node-v12.18.3-linux-x64/bin/node /usr/local/bin/ NPMsudo ln -s /root/node-v12.18.3-linux-x64/bin/npm /usr/local/bin/ vueJssudo ln -s /root/node-v12.18.3-linux-x64/bin/vue /usr/local/bin/
一般我们都是使用html meta头来禁止网页进行缩放操作<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">但是在ios设备上面这条meta是完全不起作用的这个时候我们可以使用js来禁止缩放事件document.documentElement.addEventListener('touchstart', function (event) { if (event.touches.length > 1) { event.preventDefault(); } }, false); var lastTouchEnd = 0; document.documentElement.addEventListener('touchend', function (event) { var now = Date.now(
报错语句:Array and string offset access syntax with curly braces is deprecated报错原因:PHP7+更高版本不再支持使用花括号访问数组以及字符串的偏移文件路径:thinkphp\library\think\db\Query.php [第400行]代码原句:$seq = (ord($value{0}) % $rule['num']) + 1;改后代码:$seq = (ord($value[0]) % $rule['num']) + 1;
// 图片地址 $img = '图片地址'; // 把文件转换成字符串 $data = file_get_contents($img); // 获取图片信息 $info = getimagesizefromstring($data); // 清空缓冲区所有数据 ob_clean(); // 输出图片数据流 echo $data; // 设置信息头 header("content-type:".$info['mime']); exit;
SK
Devil in My Mind.