web前端小白,记录它,为了看清我成长的轨迹,会不断更新。
1.页面间跳转失败。解决方法:
<a href="1.html" data-ajax="false">跳转至页面一</a>
2.有时动态加载html元素时,jml原有样式会丢失。解决方法;
<a href="#" class="ui-btn ui-btn-icon-right ui-icon-carat-r"></a>
3 控制台错误:mssing ) after argument list 原因:不一定是当前代码有错误,有可能是前边代码少写了}。或者是单引号应该转义
4.form表单中input一定得有name属性,而且要保证name属性与接口文档中给的名字一致。
5.提交表单时,要阻止默认事件行为。
6. 跨页面传参:可以把参数放到url中
Window.location.href=”3.html?rid=rid&”
7.
().onload:等页面所有元素加载完执行
().ready:并不是等页面上所有元素加载完再执行
8.document.referrer:当前网页从哪里链接来的
document.location:当前网页的地址
window.location=’url’;JS页面跳转
9.照片上传(分正面照片和背面照片):
$('#picture').change(function(){
var file=this.files[0];//获取文件信息
var reader=new FileReader();//读取本地文件
reader.onload=function(){
var url=reader.result;// 通过 reader.result 来访问生成的 DataURL
setImageURL(url);//data:image/png;base64,
};
reader.readAsDataURL(file);
});
function setImageURL(url){
var c=document.getElementById("canvas_left");
var cxt=c.getContext("2d");
var img=new Image();
var width = 300;
img.src=url;
img.onload = function(){
var scale = img.naturalWidth/img.naturalHeight;
c.width = width*scale;
c.height = width;
cxt.drawImage(img,0,0,width*scale,width);
var a = c.toDataURL("image/jpeg");//照片的src
$("#ID_img").attr("src",a);
$("#frontimg").val(a);
};
}
//身份证照片:后面
$("#right_picture").click(function(){
$("#pictureRight").click();
})
$('#pictureRight').change(function(){
var file=this.files[0];//获取文件信息
var reader=new FileReader();//读取本地文件
reader.onload=function(){
var url=reader.result;// 通过 reader.result 来访问生成的 DataURL
getImageURL(url);//data:image/png;base64,
};
reader.readAsDataURL(file);
});
function getImageURL(url){
var c=document.getElementById("canvas_right");
var cxt=c.getContext("2d");
var img=new Image();
var width = 300;
img.src=url;
img.onload = function(){
var scale = img.naturalWidth/img.naturalHeight;
c.width = width*scale;
c.height = width;
cxt.drawImage(img,0,0,width*scale,width);
var b = c.toDataURL("image/jpeg");//照片的src
/*$("#left_picture").css("background-image",a);*/
$("#ID_pictureRight").attr("src",b);
$("#backimg").val(b);
};
}
10.避免页面跳转后产生缓存
1、在Asp页面首部<head>加入
以下为引用的内容:
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
2、在HtML代码中加入
以下为引用的内容:
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>
3、在重新调用原页面的时候在给页面传一个参数 Href="****.asp?random()"
前两个方法据说有时会失效,而第三种则是在跳转时传一个随机的参数! 因为aspx的缓存是与参数相关的,如果参数不同就不会使用缓存,而会重新生成页面,每次都传一个随机的参数就可以避免使用缓存。这个仅适用于asp&asp.net
4、在jsp页面中可使用如下代码实现无缓存:
以下为引用的内容:
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
这些代码加在<head> </head>中间具体如下
以下为引用的内容:
<head>
<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
</head>
5、window.location.replace("WebForm1.aspx");
参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。这样可以防止用户点击back键。使用的是javascript脚本,举例如下:
以下为引用的内容:
a.html
<html>
<head>
<title>a</title>
<script language="javascript">
function jump(){
window.location.replace("b.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">b</a>
</body>
</html>
b.html
<html>
<head>
<title>b</title>
<script language="javascript">
function jump(){
window.location.replace("a.html");
}
</script>
</head>
<body>
<a href="javascript:jump()">a</a>
</body>
</html>
6、php
# 让它在过去就“失效"
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
# 永远是改动过的
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
# HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
# HTTP/1.0
header("Pragma: no-cache");
11.后台传过来的为UTC时间,转换为本地时间:
var listDate=look_data.warelist[i].date;//从后台获取到的时间
var date = new Date(Number(listDate)*1000);
Y = date.getFullYear() + ‘-‘;
M = (date.getMonth()+1 < 10 ? ‘0’+(date.getMonth()+1) : date.getMonth()+1) + ‘-‘;
D = date.getDate() + ’ ‘;
h = date.getHours() + ‘:’;
m = date.getMinutes() + ‘:’;
s = date.getSeconds();
12.点击页面中的电话号,可以直接拨打其手机号:
<a href="tel:135678900000">135678900000</a>
13.点击QQ号直接打开QQ
``````
<a href="http://wpa.qq.com/msgrd?v=3&uin=3456789&site=qq&menu=yes">QQ:3456789</a>