防止浏览器后退操作,使用window.locaiton.replace()方法,
------------------------------------------------------------------
Ajax静态页面局部刷新:
3种方式:
1:div中嵌套一个iframe,当点击a标签时,将a标签的href赋值给ifame的src:
$('a').click(function(){
$('iframeId').attr('src',$(this).attr('href'));
})
2:用ajax获取数据集,将值写到div中:
$('a').click(function(){
$.post(url,null,function(data){
// $('myDIV').html(data);//data为字符串
for(var i = 0;i<data.length;i++){
$('myDIV').html(data[i].name);//data为json值
}
})
})
3:用jquery 的load方法:
$('a').click(function(){
$("myDIV").load($(this).attr('href'));
})
------------------------------------------------------------------------
判断页面是动态还是静态的方法:
ie直接输入:javascript:alert(document.lastModified)
谷歌:F12-->console:javascript:alert(document.lastModified)
-----------------------------------------------------------------------------------------------
jquery隐藏一个tr:
$("#tr_pwd").hide(); //使用方式一,如果使用了彪子的js校验,则校验不起效果,徐改为下面的方式
$("#tr_pwd").remove(); //虽然是remove,但是查看源代码任然存在,可能在内存中的dom模型中是被移除掉了,使用该方法,彪子的js校验仍然有效果
关联代码如下:
<tr id="tr_pwd">
<td class="term_left"><label for="password">密 码:</label></td>
<td><input id="password" type="password" name="password" value="" class="input_nonull" style="width:127px" /></td>
<td class="term_left"><label for="repassword">确认密码:</label></td>
<td><input id="repassword" type="password" name="repassword" value="" class="input_nonull" style="width:127px" /></td>
</tr>
--------------------------------------------------------------------------------------------------------------------
防止页面刷新时弹出“重试”对话框的最便捷方法:
window.location.href=window.location.href;
------------------------------------------------------------------------------------------------------------------
encodeURIComponent()解决乱码的方法:
var url = "<%=basePath %>manage/user/delete.do?userId="+encodeURIComponent(userId);
$.get(url,function(data){
if(data=="success"){
//alert("删除成功!");
document.location.reload();
}else{
alert("删除失败!");
}
});
-----------------------------------------------------------------------------------------------
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp
System.out.println(request.getContextPath()); 打印结果:/news
System.out.println(request.getServletPath()); 打印结果:/main/list.jsp
System.out.println(request.getRequestURI()); 打印结果:/news/main/list.jsp
System.out.println(request.getRealPath("/")); 打印结果:F:/Tomcat 6.0/webapps/news/test
-------------------------------------------------------------------------------------------
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
meta标签中content属性中的charset值决定了浏览器打开页面时用哪种方式来解析,
如果是utf-8,打开时浏览器会用utf-8字符集来解析
如果是iso-8859-1,打开时浏览器会用iso字符集来解析
如果是gbk,gbk2312,打开时浏览器会用gbk2312简体中文字符集来解析(GBK>GB2312)
如果是big5,打开时浏览器会用繁体中文字符集来解析
---------------------------------------------------------------------------------------------------------------------------
$.ajax({
async: false,
url: "validateAtmAction!validateAtm.action",
data:"",
success: function(msg){
alert( "您的ip地址: " + msg+"不是合法的终端ip!" );
},
error:function(XMLHttpRequest, textStatus, errorThrown){alert("请求失败");alert(textStatus);alert(errorThrown);}
});
jquery中ajax调用action的时候,方法默认返回text/html格式文档,不能按照struts2中action的方式返回字符串结果,
因此aciton中处理的方法返回结果应当是void,在方法体内直接以response方式返回文档内容(前提是返回内容dataType是html或者xml),
不然success方法中不执行,总走error方法。
-----------------------------------------------------------------------------------------------------------------------------
js:double类型保存小数点后两位(toFixed()方法)
var sNum = "12.5557";
nNum = parseFloat(sNum);
if(!isNaN(nNum)) {
alert(nNum.toFixed(2));
}
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
参数描述
num必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把数字舍入为仅有一位小数的数字:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>
输出:
13.4
--------------------------------------------------------------------------------------------------------
状态栏显示停留多长时间:
第一步:把如下代码加入到<head>区域中-->
<script>
var Temp;
var TimerId = null;
var TimerRunning = false;
Seconds = 0
Minutes = 0
Hours = 0
function showtime(){
if(Seconds >= 59){
Seconds = 0
if(Minutes >= 59){
Minutes = 0
if(Hours >= 23){
Seconds = 0
Minutes = 0
Hours = 0
}
else {
++Hours
}
}
else {
++Minutes
}
}
else {
++Seconds
}
if(Seconds != 1) { var ss="s" } else { var ss="" }
if(Minutes != 1) { var ms="s" } else { var ms="" }
if(Hours != 1) { var hs="s" } else { var hs="" }
Temp = '你在本页停留了 '+Hours+' 小时'+', '+Minutes+' 分'+', '+Seconds+' 秒'+''
window.status = Temp;
TimerId = setTimeout("showtime()", 1000);
TimerRunning = true;
}
var TimerId = null;
var TimerRunning = false;
function stopClock() {
if(TimerRunning)
clearTimeout(TimerId);
TimerRunning = false;
}
function startClock() {
stopClock();
showtime();
}
function stat(txt) {
window.status = txt;
setTimeout("erase()", 2000);
}
function erase() {
window.status = "";
}
</SCRIPT>
<!--第二步:把“onLoad="startClock()"”加在<body>标记里
例如:-->
<body onLoad="startClock()">
这个只在ie下有效果
---------------------------------------------------------------------------------------------------------------------------------
getRealPath("/")过时,对应的替代方法:
request.getSession().getServletContect().getRealPath("/")得到站点的绝对地址
在Servlet 和Struts中还可以用
this.getServletContect().getRealPath("/");//这个有可能拿到null
this.getServlet().getServletContect().getRealPath("/");//这个没试过
ServletActionContext.getServletContext().getRealPath("comm");
一般情况下使用this.getServlet().getServletContext().getRealPath()和request.getSession().getServletContext().getRealPath()是一样的效果,但是当我们部署的一个EAR包里面有多个WAR应用包共享会话时,request.getSession().getServletContext().getRealPath()这个可能取不到你想要的这个应用的绝对路径,而取到的是其他应用的绝对路径,所以,最好还是使用this.getServlet().getServletContext().getRealPath()来获取绝对路径,避免在这种多应用会话共享情况下绝对路径的错乱。
//下面为struts2里面的方案
ActionContext ac = ActionContext.getContext();
ServletContext sc = (ServletContext) ac.get(ServletActionContext.SERVLET_CONTEXT);
String path = sc.getRealPath("/");
request.getContextPath().toString(); 相对路径
相关推荐
综上所述,解决JS跨域访问IFrame的问题,需要根据实际需求和环境选择合适的解决方案,结合服务器端的支持和客户端的技术手段,确保跨域通信的安全和高效。在开发过程中,应充分理解同源策略的限制,熟练掌握跨域通信...
### js算法精度失真问题的解决方案 在JavaScript中进行数学计算时,经常遇到的一个问题是浮点数运算的精度损失问题。这是因为计算机内部采用二进制形式存储数据,而某些十进制小数在二进制中是无法精确表示的,这...
本文将深入探讨JavaScript和Ajax跨域的原理,以及常用的解决方案。 首先,理解同源策略是解决跨域问题的基础。同源策略是浏览器为了保障用户安全而设定的一种机制,它规定了只有同源(即协议、域名和端口都相同)的...
在解压后的文件中,每个JavaScript文件可能对应LeetCode的一个特定问题,通过阅读和学习这些解决方案,你可以加深对上述知识点的理解,提升编程能力和问题解决技巧。同时,不断实践和优化代码,有助于在实际工作中更...
在本文中,我们将研究几种快速简洁的单行解决方案,以解决 JavaScript 中经常出现的各种问题。 什么是单行代码? 在我们开始之前,让我们确保我们了解是什么单行代码。 单行代码是问题的代码解决方案,使用特定编程...
在开发Java Web应用程序时,JSP(JavaServer Pages)页面经常遇到字符编码...对于复杂的应用场景,可能需要结合多个解决方案一起使用。在日常工作中,养成良好的编码习惯,统一编码标准,可以有效避免乱码问题的发生。
标题《JS跨域访问解决方案总结.pdf》指明文档的核心内容是关于JavaScript跨域访问问题的解决方法。跨域访问问题是指由于浏览器的同源策略限制,网页中JavaScript代码出于安全原因不能访问另一个源(域名、协议或端口...
"Node.js-基于VUE2.x和Node.js的完整开源博客解决方案--ZOEBlog" 这个标题表明我们正在讨论一个开源的博客系统,它使用了Node.js作为服务器端技术,并结合了Vue.js 2.x版本作为前端框架。"ZOEBlog"可能是这个项目的...
### IE浏览器中的JavaScript不兼容性问题及解决方案 #### 一、Table操作问题 **问题描述:** 在使用JavaScript动态创建`<table>`元素并添加行(`<tr>`)或单元格(`<td>`)时,直接使用`document.createElement()`...
在Web开发中,由于同源策略的限制,JavaScript通常无法直接访问不同域名下的资源,这就是所谓的跨域问题。然而,为了实现诸如AJAX异步数据交互等需求,开发者需要找到解决这一问题的方法。jQuery作为流行的...
GoEasy 是一种替代 WebSocket 的解决方案,主要用于实时通信和数据推送。下面是 GoEasy 的详细介绍: GoEasy 的适用场景: GoEasy 适用于需要实时通信和数据推送的场景,例如监控后台参数等场景。它可以在后台使用...
具体来说,浏览器缓存问题主要体现在以下几个方面: 1. **静态资源缓存**:如JavaScript文件、CSS文件等,浏览器为了提高加载速度,通常会缓存这些资源,但当开发者更新了这些资源后,如果不做处理,用户访问时仍...
以上介绍的是几种常见的CSS兼容性问题及其解决方案。通过这些方法,可以有效地解决不同浏览器之间的差异问题,提高网页的兼容性和用户体验。在实际开发中,还需要根据具体的项目需求灵活运用这些技术,以确保页面...
ASP.NET Web站点高级编程是一个深度探讨Web应用开发的领域,主要关注如何针对复杂问题提出有效设计方案并实现解决方案。在这个主题中,我们将深入讨论ASP.NET框架的高级特性,以及如何利用这些特性来构建高效、可...
ArcGIS API for JavaScript是一个强大的工具,用于在Web页面上展示地理信息系统(GIS)数据,但它的功能涉及到从服务器获取地图、服务和其他资源,这可能导致跨域访问的问题。为了解决这个问题,我们可以采用几种...
本文介绍了几种使用JavaScript实现页面滚动到指定div位置的解决方案。这些方法主要包括锚点法、jQuery的animate方法、window.scrollTo方法和scrollIntoView方法。下面将详细解析每种方法的原理、使用方法及优缺点。 ...
为了解决这一问题,并确保在跨域场景下可以正确地处理Cookie信息,本文将详细介绍几种常用的跨域访问解决方案及其在处理Cookie方面的应用。 #### 一、跨域访问解决方案概述 跨域访问是指一个域名下的文档或脚本...
该解决方案提供了一个设计系统,包括设计语言、视觉风格、前端技术和开发框架等几个方面。 Fusion Design的设计语言是基于品牌元素的,包括颜色、字体、图标、图片等元素。这些元素将被组合成一个统一的设计语言,...
该解决方案通常包括以下几个方面: 1. 点餐系统:通过移动终端或自助服务台实现点餐,减少人工错误和排队时间。 2. 订单管理系统:实时跟踪和管理订单状态,确保订单的准确性和及时性。 3. 结算系统:提供多种结算...
针对以上提到的问题,下面将详细介绍几种常用的跨域解决方案: 1. **通过JSONP跨域** JSONP(JSON with Padding)是一种常用的方法来绕过同源策略限制,允许在不同源之间交换数据。该方法利用`<script>`标签的...