wangyuheng's Blog

time for change

转载请注明出处WangYuheng’s Blog

现象

使用第三方js库时报错

JS Uncaught RangeError: Maximum call stack size exceeded

原因

第三方方法名重复,常为同一类库的不同版本被引用多次。

解决方法

注意引用类库版本及引用次数。自己编写的方法注意使用闭包,避免污染全局环境

转载请注明出处WangYuheng’s Blog

现象

IE8下stopPropagation,事件仍被父类捕获执行

原因

IE8 无法通过stopPropagation阻止事件冒泡

解决方法

通过return false阻止事件执行。

附录

event.stopPropagation();

事件处理过程中,阻止了事件冒泡,但不会阻止默认行为
stopPropagation() 相当好用, 可是 IE8 及以前版本都不支持.
IE 的事件对象包含特有的属性 cancelBubble, 只要将它赋值为 false 即可阻止事件继续. 如:

// 在弹出对话框上点击时, 不进行任何页面操作, 并阻止冒泡
document.getElementByIdx_x(‘dialog’).onclick = function(ev) {
event.cancelBubble = false;
};

return false;

事件处理过程中,阻止了事件冒泡,也阻止了默认行为(包括超链接的跳转)

event.preventDefault();

事件处理过程中,不阻击事件冒泡,但会阻止默认行为(它会执行所有事件,却不执行超链接跳转)

转载请注明出处WangYuheng’s Blog

现象

js对象调用属性时报错

missing name after . operator

原因

用关键字 保留字 作为属性名,如 obj.static

解决方法

可以修改属性获取方式为 obj[‘static’]

转载请注明出处WangYuheng’s Blog

CentOs7.2 运行tomcat

下载tomcat

下载Binary Distributions Core版本

wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M9/bin/apache-tomcat-9.0.0.M9.tar.gz

解压

tar -zxvf apache-tomcat-9.0.0.M9.tar.gz

启动tomcat

在apache-tomcat-9.0.0.M9的bin目录下执行

sh start.sh

关闭防火墙

centos 7

停止

systemctl stop firewalld.service 

禁用

systemctl disable firewalld.service 

之前的版本

停止

service iptables stop

禁用

chkconfig iptables off

通过浏览器访问http://服务器ip:8080 可以看到tomcat界面

转载请注明出处WangYuheng’s Blog

linux安装java环境,安装jdk1.8。

查看java程序是否存在

java -version
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj

如果java已存在,可以卸载已存在的版本

rpm -qa | grep java | xargs rpm -e --nodeps

安装过程

下载java仓库rpm

在oracle官网 http://www.oracle.com/technetwork/java/javase/downloads 找到rpm安装包下载地址,选择版本为jdk1.8 linux 64位。因为协议限制,不能通过wget直接下载,需要增加协议设置语句。
需要根据本机的操作系统版本,选择对应的jdk版本。如果32位系统,安装64位jdk会提示

package jdk1.8.0_102-2000:1.8.0_102-fcs.x86_64 is intended for a x86_64 architecture

wget --no-check-certificate --no-cookie --header "Cookie: oraclelicense=accept-securebackup-cookie;"  http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.rpm

安装仓库

sudo rpm -Uvh jdk-8u102-linux-x64.rpm

也可以手动配置repo,此时不需要下载rpm文件。

查看是否安装成功

java -version

rpm省掉了配置JAVA_HOME的过程。

转载请注明出处WangYuheng’s Blog

通过yum安装maven,发现需要依赖jdk,希望通过绿色方式安装。

下载maven

在官网下载Binary tar.gz archive版本

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

解压

tar -zxvf apache-maven-3.3.9-bin.tar.gz

将目录移动到local

mv apache-maven-3.3.9 /usr/local/apache-maven

配置环境变量

export M2_HOME=/usr/local/apache-maven
export M2=$M2_HOME/bin 
export PATH=$M2:$PATH
source ~/.bashrc

查看是否安装成功

mvn -version

转载请注明出处WangYuheng’s Blog

在CentOS环境下搭建一个nginx的服务器,安装过程比较简单,做一个简单的记录。

安装过程

配置repo

vi /etc/yum.repos.d/nginx.repo 

通过命令打开文档,输入如下内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

其中centos表明当前系统,7表示系统版本。

执行yum安装

sudo yum install -y nginx

安装程序执行完毕后,可以通过

nginx -v

查看安装nginx版本,并确认程序安装成功。

启动服务

service nginx start 

此时会提示 Redirecting to /bin/systemctl start nginx.service
因为在centos7中将service 和 chkconfig 命令合并到systemctl中,但仍可通过service启动nginx服务。
此时通过浏览器访问http://localhost,可以看到nginx启动成功的提示。

配置

修改服务目录

vi /etc/nginx/conf.d/default.conf

listen 80; 表示监听80端口
server_name localhost;表示域名或ip,可以以此搭建反向代理服务器,实现负载均衡。这个后续会有文档单独写。
location / {} root表示指向的静态文件目录路径,index表示首页文件,可以自定义修改root目录, 或者直接修改默认目录下的首页文件 /usr/share/nginx/www/index.html
重启nginx服务

service nginx restart

刷新浏览器,可以看见修改以生效。

转载请注明出处WangYuheng’s Blog

现象

表单以ajax方式提交数据,但是input text 按回车后自动提交

原因

当form只有一个input text时,回车后会自动提交表单

解决方法

增加一个隐藏的input text, 通过样式来隐藏

<input type="text" style="display:none;” />

并在form元素中增加onsubmit=”return false;” 阻止表单提交

转载请注明出处WangYuheng’s Blog

现象

通过http方式执行git clone时报错

error: The requested URL returned error: 401 Unauthorized while accessing https://git.oschina.net/xxx/xxx.git/info/refs

fatal: HTTP request failed

原因

git版本过低,为1.7.0

解决方法

升级git

0%