Rumah > Artikel > pangkalan data > Web实用技巧总结
1、如何每次请求Web页面都取最新版本,而不是浏览器缓存中的页面 l 问题:浏览器中可以设定缓存选项来设置是否使用页面缓存,所以没法强制用户设定所有的Web页面都不使用缓存。 l 解决方法:在页面的HEAD标记中添加下面的标记,以保证该页面不缓存,每次请求
1、如何每次请求Web页面都取最新版本,而不是浏览器缓存中的页面
l 问题:浏览器中可以设定缓存选项来设置是否使用页面缓存,所以没法强制用户设定所有的Web页面都不使用缓存。
l 解决方法:在页面的
标记中添加下面的标记,以保证该页面不缓存,每次请求都取最新版本。
l 浏览器缓存设置是针对所有页面的,而这种设置方法是针对特定单个页面的,会覆盖浏览器缓存设置。
2、在使用window.showModalDialog()方法打开窗口中,如何提交表单不会弹出新窗口?
l 问题:首先window.showModalDialog()只在IE浏览器中有效。在使用window.showModalDialog()方法打开窗口中提交表单时,IE浏览器默认情况在新窗口中显示结果页面。
l 解决方法:在页面的
标记中添加下面的标记,指定基本目标窗口为_self。这样,提交表单时,就会在当前窗口中显示结果页面。
3、双表头固定的数据列表中,滚动条同步移动的实现
l 问题:Web中单表头固定的数据列表使用比较多,其滚动条移动的实现很简单,只要使用
l 解决方法:分别用三个
l 下面是一个实现例子的核心代码片断,做一下简单说明,源代码可以在这里下载。
function hasAttribute(object, attrName) {
if (typeof object !== "object" && typeof object !== "string") {
return false;
}
return attrName in object;
}
function syncScroll(topId, leftId, contentId) {
var topHeader = document.getElementById(topId);
var leftHeader = document.getElementById(leftId);
var content = document.getElementById(contentId);
if (topHeader && hasAttribute(topHeader, 'scrollLeft') && content && hasAttribute(content, 'scrollLeft')) {
topHeader.scrollLeft=content.scrollLeft;
}
if (leftHeader && hasAttribute(leftHeader, 'scrollTop') && content && hasAttribute(content, 'scrollTop')) {
leftHeader.scrollTop=content.scrollTop;
}
}
l 先来看三个
? overflow: scroll表示当
? topheader和leftheader的overflow-x及overflow-y属性设置为hidden,表示溢出时不显示滚动条,而content设置为auto
? content的width值比topheader的大16px,而height值比leftheader的大17px;这是为滚动条预留的(滚动条大概16-17px,根据具体 情况微调)
? word-break: break-all用来保证数据过长时自动换行,以免将单元格宽度撑大而错位
l topheader和content内部包含的