首頁 資料庫 mysql教程 Web实用技巧总结

Web实用技巧总结

Jun 07, 2016 pm 03:36 PM
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  解决方法:分别用三个

标记包含上表头(topheader),左表头(leftheader)和数据内容(content),只有content有滚动条;当移动滚动条时(产生onscroll事件),设置topheader的scrollLeft属性以及leftheader 的scrollTop属性,使其和content保持一致。

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内部包含的

的width设置为绝对大小,并大于对应
的width,以便出现水平滚动条

syncScroll()函数在onscroll事件触发时调用,使topheader的scrollLeft属性以及leftheader 的scrollTop属性和content的保持同步

l  上面的例子个静态页面,在实际应用中通常是动态页面,需要注意以下一些方面:

?  显示的列数不定时(例如每个月的天数有所不同),需要动态计算

的width值

?  当content内部包含的

的width值

?  同样,当content内部包含的

的height值

?  word-break: break-all保证了单元格宽度不会撑大;但当单元格内容显示不下时,会自动撑大宽度,所以当表格的行距不同时,要动态计算以决定是否要出垂直滚动条,这个要麻烦一些

4、全角半角字符混合输入的处理

l  问题1:输入长度的验证,例如输入内容在数据库中是40字节,所以输入长度不能超过40字节;而JavaScript中的String.length获得的是字符个数。

l  解决方法:通常全角字符为2字节,而半角字符为1字节;这样String.length获得的长度相当于将全角字符作为1字节处理,所以再加上全角字符的个数就是字节数。考虑到escape()函数处理的字符串中,全角字符都转换成%uXXXX的Unicode形式,可以由此统计出字符串中的全角字符个数。

l  下面的JavaScript代码扩展了String对象,用来获取字符串的字节数

String.prototype.getBytesLength = function () {

return this.length + (escape(this).split("%u").length - 1);

};

l  问题2:由于显示空间有限,要求显示内容按指定长度(字节数)截取,这里有全角字符的前一个字节在指定长度范围里的问题。

l  解决方法:从字符串后端开始,逐个删除字符,直到字符串字节数

l  下面的JavaScript代码扩展了String对象,实现了上面的截取方法

String.prototype.removeCharAt = function (index) {

var retStr = this;

if (index

if (index === 0) {

retStr = this.substring(1);

} else {

if (index == this.length - 1) {

retStr = this.substring(0, this.length - 1);

} else {

retStr = this.substring(0, index) + this.substring(index + 1);

}

}

}

return retStr;

};

String.prototype.intercept = function (length) {

var s = this;

var len = s.getBytesLength();

while (len > length) {

s = s.removeCharAt(s.length - 1);

len = s.getBytesLength();

}

return s;

};

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
如何在Word複製頁面 如何在Word複製頁面 Feb 20, 2024 am 10:09 AM

是否要複製MicrosoftWord中的頁面,並保持格式不變?這是一個聰明的想法,因為當您想要建立特定文件佈局或格式的多個副本時,在Word中複製頁面可能是一種有用的節省時間的技術。本指南將逐步引導您在Word中複製頁面的過程,無論是建立範本還是複製文件中的特定頁面。這些簡單的說明旨在幫助您輕鬆地重新製作頁面,省去從頭開始的麻煩。為什麼要在MicrosoftWord中複製頁面?在Word中複製頁面非常有益的原因有以下幾點:當您有一個具有特定佈局或格式的文件要複製時。與從頭開始重新建立整個頁面不同

解決Tomcat 404錯誤:快速實用技巧 解決Tomcat 404錯誤:快速實用技巧 Dec 28, 2023 am 08:05 AM

快速解決Tomcat404錯誤的實用技巧Tomcat是常用的JavaWeb應用伺服器,在開發和部署JavaWeb應用程式時經常會使用。然而,有時候我們可能會遇到Tomcat的404錯誤,這意味著Tomcat無法找到請求的資源。這個錯誤可能由多個因素引起,但在本文中,我們將介紹一些常見的解決方案和技巧,幫助您快速解決Tomcat的404錯誤。檢查URL路徑

總結Linux系統中system()函數的用法 總結Linux系統中system()函數的用法 Feb 23, 2024 pm 06:45 PM

Linux下system()函數的總結在Linux系統中,system()函數是一個非常常用的函數,它可以用來執行命令列指令。本文將對system()函數進行詳細的介紹,並提供一些特定的程式碼範例。一、system()函數的基本用法system()函數的聲明如下:intsystem(constchar*command);其中,command參數是一個字符

高效解決Java大文件讀取異常的實用技巧 高效解決Java大文件讀取異常的實用技巧 Feb 21, 2024 am 10:54 AM

有效率解決Java大檔案讀取異常的實用技巧,需要具體程式碼範例概述:當處理大型檔案時,Java可能面臨記憶體溢出、效能下降等問題。本文將介紹幾種高效解決Java大檔案讀取異常的實用技巧,並提供具體程式碼範例。背景:在處理大型檔案時,我們可能需要將檔案內容讀入記憶體進行處理,例如搜尋、分析、提取等操作。然而,當檔案較大時,通常會遇到以下問題:記憶體溢位:嘗試一次性將整個文

如何快速刷新網頁? 如何快速刷新網頁? Feb 18, 2024 pm 01:14 PM

頁面刷新在我們日常的網路使用中非常常見,當我們訪問一個網頁後,有時會遇到一些問題,例如網頁加載不出來或顯示不正常等。這時候我們通常會選擇刷新頁面來解決問題,那麼要如何快速刷新頁面呢?下面我們就來探討頁面刷新的快捷鍵。頁面刷新快捷鍵是一種透過鍵盤操作來快速刷新目前網頁的方法。在不同的作業系統和瀏覽器中,頁面刷新的快捷鍵可能有所不同。下面我們以常見的W

處理Laravel頁面無法正確顯示CSS的方法 處理Laravel頁面無法正確顯示CSS的方法 Mar 10, 2024 am 11:33 AM

《處理Laravel頁面無法正確顯示CSS的方法,需要具體程式碼範例》在使用Laravel框架開發Web應用程式時,有時候會遇到頁面無法正確顯示CSS樣式的問題,這可能會導致頁面呈現不正常的樣式,影響使用者體驗。本文將介紹一些處理Laravel頁面無法正確顯示CSS的方法,並提供具體的程式碼範例,幫助開發者解決這個常見問題。一、檢查檔案路徑首先要檢查CSS檔案的路徑是

web標準是什麼東西 web標準是什麼東西 Oct 18, 2023 pm 05:24 PM

Web標準是一組由W3C和其他相關組織制定的規範和指南,它包括HTML、CSS、JavaScript、DOM、Web可訪問性和性能優化等方面的標準化,透過遵循這些標準,可以提高頁面的兼容性、可訪問性、可維護性和效能。 Web標準的目標是使Web內容能夠在不同的平台、瀏覽器和裝置上一致地展示和交互,提供更好的使用者體驗和開發效率。

3秒跳轉頁面實作方法:PHP程式指南 3秒跳轉頁面實作方法:PHP程式指南 Mar 25, 2024 am 10:42 AM

標題:3秒跳轉頁面實作方法:PHP程式設計指南在網頁開發中,頁面跳轉是常見的操作,一般情況下我們使用HTML中的meta標籤或JavaScript的方法進行頁面跳轉。不過,在某些特定的情況下,我們需要在伺服器端進行頁面跳轉。本文將介紹如何使用PHP程式實作一個在3秒內自動跳到指定頁面的功能,同時會給出具體的程式碼範例。 PHP實現頁面跳躍的基本原理PHP是一種在

See all articles