⑴ 怎麼解釋軟體的工作原理
為什麼「瀏覽器劫持」能夠如此猖狂呢?放眼眾多論壇的求助貼,我們不時可以看到諸如「我的IE被主頁被改了,我用殺毒工具掃了一遍都沒發現病毒,我把主頁改回自己的地址,可是一重啟它又回來了!」、「我的系統一開機就跳出一個廣告,我明明用了最新版的殺毒軟體的啊!」等這類關於IE異常問題的求助,80%的提問者都表示納悶,他們已經安裝了殺毒軟體,可是IE仍然被「黑」了,這又是為什麼?
其實這些都是典型的「瀏覽器劫持」現象,但是受害者不是已經安裝了殺毒軟體嗎?為什麼瀏覽器依然躲不過這只黑手?許多用戶對這個領域都存在一種誤區心理:瀏覽器劫持?我有最新的殺毒軟體,我不怕!
於是,當他們遭遇「瀏覽器劫持」時,驚訝了。
要知道,殺毒軟體自身也只是一種輔助工具,它不可能完全保護系統的安全,更何況,殺毒軟體用戶必須知道一個事實:「瀏覽器劫持」的攻擊手段是可以通過被系統認可的「合法途徑」來進行的!殺毒軟體只能通過「特徵碼」的形式來判斷程序是否合法,但這是建立在人為定義以後的,而實施「瀏覽器劫持」的程序可以有很多,防不勝防。
為什麼說「瀏覽器劫持」可以說是合法的呢?因為大部分瀏覽器劫持的發起者,都是通過一種被稱為「BHO」(Browser Helper Object,瀏覽器輔助對象)的技術手段植入系統的。
BHO是微軟早在1999年推出的作為瀏覽器對第三方程序員開放交互介面的業界標准,它是一種可以讓程序員使用簡單代碼進入瀏覽器領域的「交互介面」(INTERACTIVED Interface)。通過BHO介面,第三方程序員可以自己編寫代碼獲取瀏覽器的一些行為(Action)和事件通知(Event),如「後退」、「前進」、「當前頁面」等,甚至可以獲取瀏覽器的各個組件信息,像菜單、工具欄、坐標等。由於BHO的交互特性,程序員還可以使用代碼去控制瀏覽器的行為,比如常見的修改替換瀏覽器工具欄、在瀏覽器界面上添加自己的程序按鈕等操作,而這些操作都被視為「合法」的,這就是一切罪惡根源的開始。
BHO的出現幫助程序員更好的打造個性化瀏覽器或者為自己的程序實現了方便簡潔的交互功能,可以說,如果沒有BHO介面的誕生,我們今天就不能用一些工具實現個性化IE的功能了。從某一方面來看,BHO的確是各種繽紛網路互動功能的幕後功臣,但是一切事物都是有兩面性的,這個恆古不變的真理同樣對BHO有效,於是就有了今天讓安全界頭痛的「瀏覽器劫持」的攻擊手段誕生。
看看前面我提到的BHO介面特性,你想到了什麼?BHO可以獲知和實現瀏覽器的大部分事件和功能,也就是說,它可以利用少量的代碼控制瀏覽器行為。程序員可以設計出一個BHO按鈕以實現用戶點擊時通知瀏覽器跳轉到某個頁面完成交互功能,當然就可以進一步寫出控制瀏覽器跳轉到他想讓用戶去的頁面,這就是最初的「瀏覽器劫持」的成因:BHO劫持。
在描述BHO劫持之前,我們先要對BHO介面的啟動做個簡單介紹:符合BHO介面標準的程序代碼被寫為DLL動態鏈接庫形式在注冊表裡注冊為COM對象,還要在BHO介面的注冊表入口處進行組件注冊,以後每次IE啟動時都會通過這里描述的注冊信息調用載入這個DLL文件,而這個DLL文件就因此成為IE的一個模塊(BHO組件),與IE共享一個運行周期,直到IE被關閉。
IE啟動時,會載入任何BHO組件,這些組件直接進入IE領域,而IE則成為它們的父進程和載體,從此IE的每一個事件都會通過IUnknown介面傳遞到BHO用以提供交互的IObjectWithSite介面里,這是BHO實現與IE交互的入口函數。
BHO接收到IE介面傳遞來的參數後開始判斷IE正在做什麼,理論上BHO可以獲取IE的大部分事件,然後根據程序員編寫的代碼,BHO持有對特定事件做出反應的決定權,例如一個可以實現「中文網址」的BHO,就是通過GetSite方法獲取到IE當前打開的站點URL(或通過IURLSearchHook介面來獲知),如果BHO發現獲取到的URL和內置的判斷條件匹配,該BHO就會啟用SetSite方法強制IE跳轉到程序員設定的頁面去,這個過程就是利用about:blank篡改主頁的「瀏覽器劫持」方法之一,它的實現原理其實很簡單,程序員編寫一個惡意BHO組件,當它獲取到IE窗口的當前站點為「about:blank」時就強制IE內部跳轉到指定的廣告頁面,於是鬧出了不久之前沸沸揚揚的「IE空白頁劫持事件」。
了解了這種類似惡作劇的作案手段,要解決它就容易了,只要找到並刪除這個隱藏在系統里的BHO程序即可。
除了這類「廣告軟體」性質的BHO,還有一種利用IURLSearchHook介面實現的另一類更隱蔽的BHO,這種BHO從某些方面來說大概不算BHO,因為它並不是響應IUnknown,而是等待IE創建IURLSearchHook來啟動。IURLSearchHook被瀏覽器用來轉換一個未知的URL協議地址,當瀏覽器企圖去打開一個未知協議的URL地址時,瀏覽器首先嘗試從這個地址得到當前的協議,如果不成功,瀏覽器將尋找系統里所有注冊為「URL Search Hook」(資源搜索鉤子,USH)的對象並把這個IE不能理解的地址發送過去,如果某個USH對象「認識」這個地址,它就返回一個特定的標識告訴IE它知道怎麼打開這個地址,然後IE就根據約定的方法調用它,最終打開這個地址。其實USH對象並不陌生,我們一些偷懶的用戶就經常為了省事而不輸入「http://」,但是IE最終還是能認出並打開某個地址,就是USH的功勞,但是這一點又被惡意程序員拿來磨刀了,通過創建自己的USH對象,惡意程序員能夠命令IE在找不到一些網站時自動跳轉到事先設置的站點里,如果這個站點帶毒或者掛馬,用戶就完了。
這類BHO的解決方法和前面一樣,只是它比較隱蔽,除非用戶經常偷懶,否則可能直到系統崩潰也不會知道自己已經感染了這種東西。也許你會說,只要用戶的輸入永遠不會讓IE無法識別,這種滲透不就白費了?但是事實不容樂觀,我們無法得知BHO作者還會不會通過其他方法攔截IE,說不定每隔一段時間就讓IE彈出一個廣告呢?
上面說了這么多BHO和IE合作搞破壞的事例,可能會給讀者造成一種「BHO必須在IE傳遞數據後才能行動」的誤解,然而事實並非如此,瀏覽器自身也是一個標準的可執行程序,而BHO只是借用這個程序進程啟動的DLL,它並非API那種要用的時候就讓你過來忙活,忙活完了就一腳踹開的奴隸形態DLL,前面說過了,BHO是一種在瀏覽器載入時一同啟動的常式,它相當於一種自身運行邏輯不太明確的子進程(裡面都是對IE事件的響應和操作代碼),這個特性就造成了BHO DLL和API DLL本質的區別,BHO並不需要所有事件都必須依賴這個大傢伙,它可以有自己決定的權利,只要適當的修改,就能用BHO實現類似DLL木馬的功能,當然,這並不是說我們就能在IE眼皮下公然的肆無忌彈干壞事的,由於BHO自身是作為IE子進程啟動的,它就必須受到一些限制,例如程序員不能在裡面自己創建網路連接,這樣會導致IE報錯崩潰並供出你寫的DLL,害怕BHO成為另一種後門的用戶可以鬆口氣了,要在BHO里實現Winsock大概只能在IE休息的時候才可以,但是會有哪個用戶開著個開空IE什麼事情都不做呢?
但這並不是說BHO就一定能無害了,雖然用它不能做到遠程式控制制,但是別忘記,BHO能看到IE的所有東西,也就能任意的訪問用戶文件和注冊表,在這個條件成立的前提下,入侵者可以編寫代碼查找用戶隱私,然後在適當時候通過SetSite提交出去——誰叫現在Webmail這么流行呢?這就是為什麼許多廠商發布諸如「中文網址」、「網路搜索」、「IE定製」、「IE監視」這些功能的BHO的同時都保證「不搜集用戶隱私」的原因,只要你想要,BHO就能得到一切。
有些人也許會想,既然BHO是微軟瀏覽器的權利,那我不用IE了,我用Opera、Firefox不行?對於這點固然無可厚非,但是你用不用Windows?用不用共享軟體?如果你用Windows,那麼,你仍然可能處於被BHO接觸到的世界,因為Windows本身就是和IE緊密結合的,這就把「IE進程」的范圍給擴大了,細心的用戶大概會發現,IE里能直接訪問「我的電腦」,「我的電腦」窗口也能迅速變成IE,因為它們實質都是依賴於IE內核的,正因為這個原因,BHO可以在你打開一個文件夾時跟著偷偷啟動。同時,現在的網路正處於一種「共享軟體捆綁戰略」大肆實施的時代,你再小心也不能避免某些共享軟體固定捆綁了BHO的行為,安裝後你才會發現文件夾上又多了個什麼「助手」、「搜索」了。要想徹底逃開BHO的圍困,大概只能放棄使用Windows了。
Hook,你鉤住瀏覽器了
正如《侏》里的這句話一樣,入侵者也在不斷尋找他們的新出路,雖然上面我說了這么多BHO的負面事例,但是真正的危機並不是只有BHO的,在一些使用BHO行不通的場合里,入侵者開始投擲他們的鉤子。
什麼是鉤子?讓我們先看看它的官方定義:
鉤子(Hook),是Windows消息處理機制的一個平台,應用程序可以在上面設置子程以監視指定窗口的某種消息,而且所監視的窗口可以是其他進程所創建的。當消息到達後,在目標窗口處理函數之前處理它。鉤子機制允許應用程序截獲處理window消息或特定事件。
鉤子實際上是一個處理消息的程序段,通過系統調用,把它掛入系統。每當特定的消息發出,在沒有到達目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數先得到控制權。這時鉤子函數即可以加工處理(改變)該消息,也可以不作處理而繼續傳遞該消息,還可以強制結束消息的傳遞。
可能上面的官方定義對一部分讀者理解有點困難,其實,鉤子就像是一切程序的「先知」,一個實現了鉤子的程序自身雖然也是普通程序,但是它總能在別的程序得到數據之前就已經知道了一切,這是為什麼呢?對Windows系統有一定了解的讀者應該知道,Windows系統是一個通過「信息處理機制」運作的系統,在這個系統里傳遞的數據都是通過「消息」(Message)的形式發送的,各個消息都遵循了官方的約定,否則就不能讓系統產生回應。而且這個傳遞步驟是顛倒的,例如我們關閉了某個程序,我們可能會認為是程序自己關閉後通知系統的,其實不然,當用戶點擊關閉按鈕的時候,Windows就會把一個叫做WM_CLOSE的消息傳遞給這個程序,程序接收到消息後就執行卸載自身常式的操作。理解了這點,就能知道鉤子的原理了,所謂鉤子程序,就是利用了系統提供的Hook API,讓自己比每一個程序都提前接收到系統消息,然後做出處理,如果一個鉤子攔截了系統給某個程序的WM_CLOSE消息,那麼這個程序就會因為接收不到關閉消息而無法關閉自身。除了消息以外,鉤子還可以攔截API,像我們都熟悉的屏幕翻譯軟體就是Hook了一些文本輸出函數如TextOutA而達到了目的。
技術讓編程人員可以輕松獲取其他程序的一些有用數據或傳遞相關數據,像現在常見的一些游戲外掛,它們就是利用Hook技術鉤住了游戲窗體,然後就可以識別游戲裡面的行為和模擬發送按鍵滑鼠消息,最終實現電腦自己玩游戲的功能。把這個技術應用到瀏覽器上面,就成了另一種控制瀏覽器行為的方法。
鉤子有兩種,本地鉤子(Local Hook)和全局鉤子(Global Hook),本地鉤子只在本進程里起作用,故不屬於討論范圍;全局鉤子代碼必須以DLL形式編寫,以便在鉤子生效時被其它進程所載入調用,因此我們看到的大部分Hook程序都是DLL形式的。
其實之前提到的BHO也可以視為一種針對IE的鉤子,它鉤的是IE的事件,這就是IE與BHO交互的起點,但是對於再復雜一點的操作,例如判斷IE下載的是GIF圖片還是JPEG圖片,BHO無能為力,因為它僅僅知道IE的事件為DownloadBegin和DownloadComplete,對於具體內容,IE本身是不會告訴它的,否則IE豈不是要忙死了?至少我也沒見過哪個領導還需要向秘書匯報中午吃了雞肉還是鴨肉的吧,BHO可不是IE的老婆,或者說IE沒有氣管炎。
所以,為了得到IE的更多數據,程序員開始鉤IE了。與BHO不同,鉤子不需要被動的等待IE事件,它直接和IE形成上司對下屬的關系,這次輪到IE要做什麼都得經過它批准了。Hook形式的控制不需要DLL文件必須與IE的注冊表入口產生組件關系,它可以是一個獨立的DLL,通過Rundll32.exe或自帶的Loader EXE啟動,而且由於它屬於Hook形式, 在鉤子有效的情況下會被系統自動插入其他程序的進程中,是不是有點像DLL木馬呢?
IE鉤子程序載入進程後便能獲知所有的消息類型、API和內容,一旦發現某個符合要求的消息,如IE執行了某個事件,或者用戶輸入了特定內容,鉤子的處理代碼就開始工作了,它先攔截系統發送給IE的消息,然後分析消息內容,根據不同消息內容作出修改後再發給IE,就完成了一次Hook篡改過程。用著名的3721實名搜索做例子,一些人會以為它是採用了BHO或者IURLSearchHook完成中文域名的識別跳轉的,其實它是用了能夠第一個得到Windows消息的Hook技術,這樣一來就可以避免被其他的競爭對手搶先解析域名了:3721的主程序就是一個Hook DLL,它監視IE地址欄的消息,一旦用戶輸入的是中文,它便在其他BHO類插件工作之前攔截了這個消息,並調用自身代碼完成中文域名到英文URL的轉換工作,然後返回(也可能與自己的BHO DLL配合)一個讓IE跳轉到英文URL的消息,完成域名的翻譯任務。
IE鉤子能幫助程序員用少量代碼完成更多的IE交互工作,但是一旦這個鉤子被用於犯罪,其後果也是嚴重的,惡意程序員可以寫一個攔截IE輸入的鍵盤鉤子,達到竊取密碼的作用,這樣無論你是用HTTP明文協議還是SecurityHTTP加密協議都不能逃避密碼被盜的下場了,因為它抓的是你在IE里的輸入,後面的數據傳輸已經不重要了。
Winsock LSP
全稱為「Windows Socket Layered Service Provider」(分層服務提供商),這是Winsock 2.0才有的功能,它需要Winsock支持服務提供商介面(Service Provider Interface,SPI)才能實現,SPI是一種不能獨立工作的技術,它依賴於系統商已經存在的基本協議提供商,如TCP/IP協議等,在這些協議上派分出的子協議即為「分層協議」,如SSL等,它們必須通過一定的介面函數調用,LSP就是這些協議的介面。
通過LSP,我們可以比分析基本協議更簡單的得到我們想要的數據內容,如直接得到系統上運行的瀏覽器當前正在進行傳輸的地址和內容,不管這個瀏覽器是IE,還是Opera或Firefox,因為LSP是直接從Winsock獲取信息的,即使不用微軟生產的汽車,至少你這輛汽車一直是在微軟建造的公路上跑的吧。
LSP用在正途上可以方便程序員們編寫監視系統網路通訊情況的Sniffer,可是現在常見的LSP都被用於瀏覽器劫持,使用戶又多了個噩夢。
⑵ 怎麼製作一個網頁游戲
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-140788620891735845
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-140788620891735845
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
⑶ 惡搞程序員gif 女演員叫啥
澤尻繪里香?
⑷ 圖片的格式是BMP、JPG、JPEG、GIF、WMF或者PNG的是何意思請知道朋友告訴我。
圖片格式:光柵圖片
BMP:Windows 點陣圖
Windows 點陣圖可以用任何顏色深度(從黑白到 24 位顏色)存儲單個光柵圖像。Windows 點陣圖文件格式與其他 Microsoft Windows 程序兼容。它不支持文件壓縮,也不適用於 Web 頁。
從總體上看,Windows 點陣圖文件格式的缺點超過了它的優點。為了保證照片圖像的質量,請使用 PNG 文件、JPEG 文件或 TIFF 文件。BMP 文件適用於 Windows 中的牆紙。
優點:? BMP 支持 1 位到 24 位顏色深度。
? BMP 格式與現有 Windows 程序(尤其是較舊的程序)廣泛兼容。
缺點:? BMP 不支持壓縮,這會造成文件非常大。
? BMP 文件不受 Web 瀏覽器支持。
PCX:PC 畫筆
「PC 畫筆」圖片(也被稱為 Z-Soft 點陣圖)會以任何顏色深度存儲單個光柵圖像。畫筆圖片更廣泛地用於較早的 Windows 程序和基於 MS-DOS 的程序。畫筆圖片與許多較新的程序兼容。PCX 圖片支持「行程長度編碼」(RLE) 內部壓縮。
優點:? PCX 在許多基於 Windows 的程序和基於 MS-DOS 的程序間是標准格式。
? PCX 支持內部壓縮。
缺點:? PCX 不受 Web 瀏覽器支持。
PNG:可移植網路圖形
PNG 圖片以任何顏色深度存儲單個光柵圖像。PNG 是與平台無關的格式。
優點:? PNG 支持高級別無損耗壓縮。
? PNG 支持 alpha 通道透明度。
? PNG 支持伽瑪校正。
? PNG 支持交錯。
? PNG 受最新的 Web 瀏覽器支持。
缺點:? 較舊的瀏覽器和程序可能不支持 PNG 文件。
? 作為 Internet 文件格式,與 JPEG 的有損耗壓縮相比,PNG 提供的壓縮量較少。
? 作為 Internet 文件格式,PNG 對多圖像文件或動畫文件不提供任何支持。GIF 格式支持多圖像文件和動畫文件。
JPEG:聯合攝影專家組
JPEG 圖片以 24 位顏色存儲單個光柵圖像。JPEG 是與平台無關的格式,支持最高級別的壓縮,不過,這種壓縮是有損耗的。漸近式 JPEG 文件支持交錯。
可以提高或降低 JPEG 文件壓縮的級別。但是,文件大小是以圖像質量為代價的。壓縮比率可以高達 100:1。(JPEG 格式可在 10:1 到 20:1 的比率下輕松地壓縮文件,而圖片質量不會下降。)JPEG 壓縮可以很好地處理寫實攝影作品。但是,對於顏色較少、對比級別強烈、實心邊框或純色區域大的較簡單的作品,JPEG 壓縮無法提供理想的結果。有時,壓縮比率會低到 5:1,嚴重損失了圖片完整性。這一損失產生的原因是,JPEG 壓縮方案可以很好地壓縮類似的色調,但是 JPEG 壓縮方案不能很好地處理亮度的強烈差異或處理純色區域。
優點:? 攝影作品或寫實作品支持高級壓縮。
? 利用可變的壓縮比可以控制文件大小。
? 支持交錯(對於漸近式 JPEG 文件)。
? JPEG 廣泛支持 Internet 標准。
缺點:? 有損耗壓縮會使原始圖片數據質量下降。
? 當您編輯和重新保存 JPEG 文件時,JPEG 會混合原始圖片數據的質量下降。這種下降是累積性的。
? JPEG 不適用於所含顏色很少、具有大塊顏色相近的區域或亮度差異十分明顯的較簡單的圖片。
GIF:圖形交換格式
GIF 圖片以 8 位顏色或 256 色存儲單個光柵圖像數據或多個光柵圖像數據。GIF 圖片支持透明度、壓縮、交錯和多圖像圖片(動畫 GIF)。
GIF 透明度不是 alpha 通道透明度,不能支持半透明效果。GIF 壓縮是 LZW 壓縮,壓縮比大概為 3:1。GIF 文件規范的 GIF89a 版本中支持動畫 GIF。
優點:? GIF 廣泛支持 Internet 標准。
? 支持無損耗壓縮和透明度。
? 動畫 GIF 很流行,易於使用許多 GIF 動畫程序創建。
缺點:? GIF 只支持 256 色調色板,因此,詳細的圖片和寫實攝影圖像會丟失顏色信息,而看起來卻是經過調色的。
? 在大多數情況下,無損耗壓縮效果不如 JPEG 格式或 PNG 格式。
? GIF 支持有限的透明度,沒有半透明效果或褪色效果(例如,alpha 通道透明度提供的效果)。
TIFF:標記圖像文件格式
TIFF 以任何顏色深度存儲單個光柵圖像。TIFF 可以被認為是印刷行業中受到支持最廣的圖形文件格式。TIFF 支持可選壓縮,不適用於在 Web 瀏覽器中查看。
TIFF 格式是可擴展的格式。這意味著程序員可以修改原始規范以添加功能或滿足特定的需要。修改規范可能會導致不同類型的 TIFF 圖片之間不兼容。
優點:? TIFF 是廣泛支持的格式,尤其是在 Macintosh 計算機和基於 Windows 的計算機之間。
? 支持可選壓縮。
? 可擴展格式支持許多可選功能。
缺點:? TIFF 不受 Web 瀏覽器支持。
? 可擴展性會導致許多不同類型的 TIFF 圖片。並不是所有 TIFF 文件都與所有支持基本 TIFF 標準的程序兼容。
圖片格式:矢量圖片
DXF:AutoCAD 繪圖交換文件
DXF 是 Autodesk AutoCAD 程序使用的基於矢量的 ASCII 格式。AutoCAD 可以提供非常詳細的完全可以縮放的圖表。
優點:? 您可以使用 AutoCAD 創建非常詳細和精確的圖表和圖形。
? AutoCAD 文件在建築、設計和雕刻行業很流行。
缺點:? AutoCAD 在 Office 中受到的支持很有限,Office 支持 R12 之前的 AutoCAD 版本。
? AutoCAD 具有很陡的學習曲線。請注意,其他圖形程序也可以導出 DXF 圖片。
CGM:計算機圖形圖元文件
CGM 圖元文件可以包含矢量信息和點陣圖信息。它是由許多組織和政府機構(包括「英國標准協會」(BSI)、「美國國家標准協會」(ANSI) 和美國國防部)使用的國際性標准化文件格式。
優點:? CGM 是國際標准格式。
CDR:CorelDRAW!
CorelDRAW! 圖元文件可以同時包含矢量信息和點陣圖信息。
優點:? CDR 廣泛用於印前行業和藝術設計行業。
缺點:? CDR 在 Office 中受到的支持很有限,Office 支持 CorelDRAW! 6 版和更早版本。
WMF:Windows 圖元文件
「Windows 圖元文件」是 16 點陣圖元文件格式,可以同時包含矢量信息和點陣圖信息。它針對 Windows 操作系統進行了優化。
優點:? WMF 是 Windows 標准格式,可很好地在 Office 中使用。
EPS:Encapsulated PostScript
「Encapsulated PostScript」格式是一種專用的列印機描述語言,可以描述矢量信息和點陣圖信息。
優點:? EPS 可在任何 PostScript 列印機上進行准確的效果呈現。
? EPS 是行業標准格式。
缺點:? 屏幕顯示可能與輸出的顯示不一致。屏幕呈現可能會是低解析度的,可能會是不同圖像,或只是佔位符圖像。
? EPS 文件旨在用於輸出。它們不是用於在屏幕上顯示信息的最適合的格式。
EMF:增強型圖元文件
「增強型圖元文件」是 32 位格式,可以同時包含矢量信息和點陣圖信息。此格式是對「Windows 圖元文件格式」的改進,包含了一些擴展功能,例如,下面的功能:
? 內置的縮放比例信息
? 與文件一起保存的內置說明
? 調色板和設備獨立性方面的改進
EMF 格式是可擴展的格式,這意味著程序員可以修改原始規范以添加功能或滿足特定的需要。此修改可能會導致不同類型的 EMF 圖片之間不兼容。
優點:? 可擴展的文件格式
? 與 WMF 相比,經過改進的功能
缺點:? 可擴展性會導致許多不同類型的 EMF 圖片,並不是所有 EMF 文件都與所有支持 EMF 標準的程序兼容。
PICT:Macintosh 圖片
PICT 文件是用於 Macintosh 計算機的 32 點陣圖元文件格式。PICT 文件使用「行程長度編碼」(RLE) 內部壓縮,該內部壓縮工作相當良好。如果安裝了 QuickTime,則 PICT 文件支持 JPEG 壓縮(僅限 Macintosh)。
優點:? PICT 是用於 Macintosh 計算機屏幕顯示的最佳文件格式。
? 當您從 Macintosh 計算機輸出到非 PostScript 列印機時,PICT 是要使用的最佳輸出格式。
缺點:? 在平台間移動它們時,字體可能顯示得不正確。
? 必須安裝 QuickTime 才能正確查看某些 PICT 文件。
⑸ 有一個gif,是關於程序員的,開開心心寫程序——又出錯了——最後磕頭絕望而死。。。
就是這個咯~
⑹ 是不是真正頻PM 不需要和程序員開會溝通
網站項目管理規范
一.概念
網站項目管理就是根據特定的規范、在預算范圍內、按時完成的網站開發任務。
二.需求分析
1.項目立項
我們接到客戶的業務咨詢,經過雙方不斷的接洽和了解,並通過基本的可行性討論夠,初步達成製作協議,這時就需要將項目立項。較好的做法是成立一個專門的項目小組,小組成員包括:項目經理,網頁設計,程序員,測試員,編輯/文檔等必須人員。項目實行項目經理制。
2.客戶的需求說明書
第一步是需要客戶提供一個完整的需求說明。很多客戶對自己的需求並不是很清楚,需要您不斷引導和幫助分析。曾經有一次,我問客戶:「您做網站的目的是什麼?」他回答:「沒有目的,只是因為別人都有,我沒有!」。這樣的客戶就需要耐心說明,仔細分析,挖掘出他潛在的,真正的需求。 配合客戶寫一份詳細的,完整的需求說明會花很多時間,但這樣做是值得的,而且一定要讓客戶滿意,簽字認可。把好這一關,可以杜絕很多因為需求不明或理解偏差造成的失誤和項目失敗。糟糕的需求說明不可能有高質量的網站。那麼需求說明書要達到怎樣的標准呢?簡單說,包含下面幾點:
1.正確性:每個功能必須清楚描寫交付的功能;
2.可行性:確保在當前的開發能力和系統環境下可以實現每個需求;
3.必要性:功能是否必須交付,是否可以推遲實現,是否可以在削減開支情況發生時"砍"掉;
4.簡明性:不要使用專業的網路術語;
5.檢測性:如果開發完畢,客戶可以根據需求檢測。
三.系統分析
1.網站總體設計
在拿到客戶的需求說明後,並不是直接開始製作,而是需要對項目進行總體設計,詳細設計,出一份網站建設方案給客戶。總體設計是非常關鍵的一步。它主要確定:
1.網站需要實現哪些功能;
2.網站開發使用什麼軟體,在什麼樣的硬體環境;
3.需要多少人,多少時間;
4.需要遵循的規則和標准有哪些。
同時需要寫一份總體規劃說明書,包括:
1.網站的欄目和版塊;
2.網站的功能和相應的程序;
3.網站的鏈接結構;
4.如果有資料庫,進行資料庫的概念設計;
5.網站的交互性和用戶友好設計。
2.網站建設方案
在總體設計出來後,一般需要給客戶一個網站建設方案。很多網頁製作公司在接洽業務時就被客戶要求提供方案。那時的方案一般比較籠統,而且在客戶需求不是十分明確的情況下提交方案,往往和實際製作後的結果會有很大差異。所以應該盡量取得客戶的理解,在明確需求並總體設計後提交方案,這樣對雙方都有益處。網站建設方案的包括以下幾個部分:
1.客戶情況分析;
2.網站需要實現的目的和目標;
3.網站形象說明;
4.網站的欄目版塊和結構;
5.網站內容的安排,相互鏈接關系;
6.使用軟體,硬體和技術分析說明;
7.開發時間進度表;
8.宣傳推廣方案;
9.維護方案;
10.製作費用;
11.本公司簡介:成功作品,技術,人才說明等。
當您的方案通過客戶的認可,您可以開始動手製作網站了。但還不是真正意義上的製作,你需要進行詳細設計:
3.網站詳細設計
總體設計階段以比較抽象概括的方式提出了解決問題的辦法。詳細設計階段的任務就是把解法具體化。詳細設計主要是針對程序開發部分來說的。但這個階段的不是真正編寫程序,而是設計出程序的詳細規格說明。這種規格說明的作用很類似於其他工程領域中工程師經常使用的工程藍圖,它們應該 包含必要的細節,例如:程序界面,表單,需要的數據等。程序員可以根據它們寫出實際的程序代碼。
四. 項目實施
1.整體形象設計
在程序員進行詳細設計的同時,網頁設計師開始設計網站的整體形象和首頁。
整體形象設計包括標准字,Logo,標准色彩,廣告語等。 首頁設計包括版面,色彩,圖像,動態效果,圖標等風格設計,也包括banner,菜單,標題,版權等模塊設計。首頁一般設計1-3個不同風格,完成後,供客戶選擇。
記住:在客戶確定首頁風格之後,請客戶簽字認可。以後不得再對版面風格有大的變動,否則視為第二次設計。
開發製作
2.開發製作
到這里,程序員和網頁設計師同時進入全力開發階段,需要提醒的是,測試人員需要隨時測試網頁與程序,發現Bug立刻記錄並反饋修改。不要等到完全製作完畢再測試,這樣會浪費大量的時間和精力。項目經理需要經常了解項目進度,協調和溝通程序員與網頁設計師的工作。
調試完善
3.調試完成
在網站初步完成後,上傳到伺服器,對網站進行全范圍的測試。包括速度,兼容性,交互性,鏈接正確性,程序健壯性,超流量測試等,發現問題及時解決並記錄下來。
為什麼要記錄文檔呢?其實本軟體工程本身就是一個文檔,是一個不斷充實和完善的標准。通過不斷的發現問題,解決問題,修改,補充文檔,使這個標准越來越規范,越來越工業化。進而使得網站開發趨向規范,趨向合理。
4.宣傳推廣
宣傳推廣的基本方法有:
1.網頁里設置適當的META標簽;
2.各搜索引擎登錄;
3.准備新聞稿件在各新聞公告板發表;
4.合理使用Email郵件列表;
5.廣告條交換;
6.付費廣告。
至此,網站項目建設完畢,將有關網址,使用操作說明文檔等提交客戶驗收。如果需要維護,另行簽定維護項目。
五.維護
網站成功推出後,長期的維護工作才剛剛開始,需要做到的是:
1.及時響應客戶反饋;例如可以採取Email自動回復功能,然後在1-3個工作日里解決問題,再次回復;
2.網站流量統計分析和相應對策;
3.盡量推廣和使用您的網址;
4.網站內容的及時更新和維護。
六.遵循的規范
1.網站建設目錄規范
2.網站文件命名規范
3.網站建設尺寸規范
4.網站首頁head區代碼規范
5.網站連接結構規范
網站開發規范
任何一個項目或者系統開發之前都需要定製一個開發約定和規則,這樣有利於項目的整體風格統一、代碼維護和擴展。由於Web項目開發的分散性、獨立性、整合的交互性等,所以定製一套完整的約定和規則顯得尤為重要。定製一系列約定和規則,包括組件團隊、文件夾命名規則、文件名命名規則、程序代碼編程風格、資料庫設計約定。這些規則和約定需要與開發人員、設計人員和維護人員共同討論定製,將來開發都將嚴格按規則或約定開發。每個團隊開發都應有自己的一套規范,一個優良可行的規范可以使我們工作得心應手事半功倍,這些規范都不是唯一的標准不存在對與錯,也許有些地方與你當前使用的習慣相駁,很多地方都有爭議。。
非常明顯在Web項目開發中有前後台開發之分,前台開發主要是指非程序編程部分,主要職責是網站AI設計、界面設計、動畫設計等。而後台開發主要是編程和網站運行平台搭建,其主要職責是設計網站資料庫和網站功能模板的實現。下面的這些規范主要是從這2個方面來定製的,這些規范是工作中總結的一點經驗,本文檔比較適合中小型網站或者Web項目的開發規范。
一.組建開發團隊
在接手項目後的第一件事是組建團隊。根據項目的大小團隊可以有幾十人,也有可以是只有幾個人的小團隊,在團隊劃分中應該含有6個角色,這6個角色是必須的,分別是項目經理,策劃,美工,程序員,代碼整合員,測試員。也許你的團隊還沒有6個人,沒有關系一個人可以有多個角色,比如項目經理還可以有策劃這個角色,如程序員還可以含有代碼整合和測試這2個角色,如果你的項目夠大人數夠多那就分為6個組,每個組分工再來細分。下面簡單介紹一下這6個角色的具體職責。
項目經理,項目總體設計,開發進度的定製和監控,定製相應的開發規范,負責各個環節的評審工作,協調各個成員(小組)之間開發。策劃,提供詳細的策劃方案和需求分析。還包括後期網站推廣方面的策劃。美工,根據策劃和需求設計網站AI,界面,Logo等。程序員,根據項目總體設計來設計資料庫和功能模塊的實現。代碼整合員,負責將程序員的代碼和界面融合到一起,代碼整合員可以製作網站的相關頁面,測試員,負責測試程序。
二.開發工具
Web開發工具主要分為3部分,第一部分是網站前台開發工具,第二部分是網站後台開發環境,第三部分是項目管理和輔助軟體。下面分別簡單介紹這三部分需要使用的軟體。
網站前台開發主要是指Web界面設計。包括網站整體框架建立、常用圖片、Flash動畫設計等等,主要使用的相關軟體是:Adobe Illustrator 、Adodb Photoshop、Dreamweaver MX、Flash MX等。
網站後台開發主要指網站動態程序開發、資料庫建模,主要使用的相關軟體是: PowerDesigner(資料庫建模),PowerDesigner在資料庫設計方面應用非常強大,用它可以快速創建資料庫概念和物理模型,我最喜歡的還是它生成資料庫Report的功能太方便了,設計資料庫強烈推薦用它。Rational Rose(程序建模),如果你的項目功能模塊不是特別復雜那就剩了它吧,這樣會節省一些時間和開發的復雜度,不過我個人認為不管是大項目還是小項目都應該畫畫Rose圖。
網站項目管理主要指對開發進度和代碼版本的控制。開發進度用Microsoft Project來制定,代碼版本控制採用Visual SourceSafe,當然還有其他的選擇比如CVS和Rational ClearCase。網站測試採用VS.net的附帶工具Microsoft Application Center Test,它可以進行並行、負載測試等。程序文檔編寫採用Word,用WPS也可以。
三.網站開發流程
在項目開始實施之前應該有一個工作步驟也就是工作流程,在項目開發中最需要時間的是總體設計和系統測試,而程序編寫代碼所佔的時間並不多,但有的團隊就急於開發寫代碼,先把程序寫出來再說,沒有注重評審和測試這2個環節,結果造成返工,我在一家比較大的公司中都遇到多次這種情況。所以項目來了不要急於開工寫代碼,應該一步一步慢慢來,只有走的慢才能走得穩走得遠。圖1的開發流程比較好地體現開發的整個環節。
圖 1
從圖1可以看到2條主線,這2條主線分別是前台開發和後台開發。前後台開發在項目開發早期互相沒有交叉,當然不是絕對沒有,Web策劃和需求分析都是互相有關系的,一個是網站表現形式和風格的策劃另一個是網站功能的策劃,它們是衣服和軀乾的關系。到了開發後期就需要把界面和功能模塊結合起來形成一個統一,也就即將發布的網站。
四.資料庫開發規范
數據文件命名採用系統名+_+文件類型,比如系統名為kupage,則資料庫文件命名為kupage_database.mdf,有的資料庫文件有多個,比如SQL Server就有2個,一個是資料庫文件,另一個是日誌文件,那麼他們的文件命名分別為kupage_database.mdf,kupage_log.log。文件名全部採用小寫。
資料庫表命名規范,表名長度不能超過30個字元,表名中含有單詞全部採用單數形式,單詞首寫字母要大寫,多個單詞間不用任何連接符號。若庫中有多個系統,表名採用系統名稱+單詞或多個單詞,系統名是開發系統的縮寫,系統名稱全部採用小寫英文字元,如bbsTitle,bbsForumType。若庫中只含有一個系統,那麼表名僅用一個單詞或多個單詞。單詞選擇能夠概括表內容的一個或多個英文單詞,如UserInfo,UserType。關連表命名規則為Re_表A_表B,Re是Relative的縮寫,如:Re_User_ArticleType, Re_User_FormType。
資料庫欄位命名規范,資料庫欄位名全部採用小寫英文單詞,單詞之間用」_」隔開,命名規則是表別名+單詞,如:user_name,user_pwd。表別名規則,如果表名是一個單詞,別名就取單詞的前4 個字母;如果表名是兩個單詞,就各取兩個單詞的前兩個字母組成4 個字母長的別名;如果表的名字由3 個單片語成,你不妨從頭兩個單詞中各取一個然後從最後一個單詞中再取出兩個字母,結果還是組成4 字母長的別名。
視圖名採用規則View_表A_表B_表C,View表示視圖。這個視圖由幾個表產生就用」_」連接幾個表的名,如果表過多可以將表名適當簡化,但一定要列出所有表名。
存儲過程命名規則P_表名_存取過程名(縮寫),比如P_User_Del,P_ArticleType_AddData。
SQL語句編寫規則,關鍵字必須大寫,其他書寫按上述命名規則,比如:
SELECT user_id, user_name FROM User WHERE user_id = 『tom』
五.文件夾文件名命名規范
文件夾命名一般採用英文,長度一般不超過20個字元,命名採用小寫字母。除特殊情況才使用中文拼音,一些常見的文件夾命名如:images(存放圖形文件),flash(存放Flash文件),style(存放CSS文件),scripts(存放javascript腳本),inc(存放include文件),link(存放友情鏈接),media(存放多媒體文件)等。
文件名稱統一用小寫的英文字母、數字和下劃線的組合。命名原則的指導思想一是使得你自己和工作組的每一個成員能夠方便的理解每一個文件的意義,二是當我們在文件夾中使用「按名稱排例」的命令時,同一種大類的文件能夠排列在一起,以便我們查找、修改、替換、計算負載量等等操作 。
1、圖片的命名原則名稱分為頭尾兩部分,用下劃線隔開,頭部分表示此圖片的大類性質例如廣告、標志、菜單、按鈕等等。
放置在頁面頂部的廣告、裝飾圖案等長方形的圖片取名: banner
標志性的圖片取名為: logo
在頁面上位置不固定並且帶有鏈接的小圖片我們取名為 button
在頁面上某一個位置連續出現,性質相同的鏈接欄目的圖片我們取名: menu
裝飾用的照片我們取名: pic
不帶鏈接表示標題的圖片我們取名: title
下面是幾個範例: banner_sohu.gif 、banner_sina.gif、 menu_aboutus.gif 、menu_job.gif、 title_news.gif、 logo_police.gif、 logo_national.gif 、pic_people.jpg 。
2、動態語言文件命名規則性質_描述,描述可以有多個單詞,用」_」隔開,性質一般是該頁面得概要。
範例:register_form.asp,register_post.asp,topic_lock.asp
六.程序代碼編程規范
一個良好的程序編碼風格有利於系統的維護,代碼也易於閱讀查錯。在此只討論ASP的編程風格和約定。在ASP中所有變數是弱變數,無需定義就可以直接使用,而且代碼不區分大小寫。但其他語言一般這些都要定義的,為了養成良好的編程習慣,編寫代碼務必按照一下規則。
1、每個變數名必須定義,在ASP文件的最開始添加語句,強制定製每個變數。
2、出於易讀和一致性的目的,在代碼中使用以下變數命名約定:
子類型 前綴 示例
Boolean bln blnFound
Byte byt bytRasterData
Date (Time) dtm dtmStart
Double dbl dblTolerance
Error err errOrderNum
Integer int intQuantity
Long lng lngDistance
Object obj objCurrent
Single sng sngAverage
String str strFirstName
3、程序代碼需要有縮進,縮進採用鍵盤Tab鍵,不採用空格鍵。並且」=」或者鏈接字元串時需要左右空一格,如下:
4、函數過程編寫的約定。函數或者過程命名採用動作+名詞,每個函數需要給出相應的注釋,函數功能,傳入變數,以及作者和修改相關信息。如下面函數:
<%
'[功能] 返回一個參數的值
'[參數] strParameterName 參數名稱
'[作者] icefire 2002/8/20 am
Function GetParameterValue(strParameterName)
Dim objRS, strSQL, strParameterValue
strSQL = "SELECT ParameterValue FROM damsParameters WHERE ParameterName = '" & strParameterName & "'"
.
.
.
GetParameterValue = strParameterValue
Set objRS = Nothing
End Function
5、ASP內置對象區分大小寫。如下代碼片斷
strUserName = Request.Form(「UserName」)
Set conn = Server.CreateObject("ADODB.Connection")
6、資料庫連接一個庫只能有一個資料庫連接文件,創建資料庫對象得原則是盡可能晚地打開資料庫,盡可能早地關閉資料庫。創建資料庫對象調用統一地創建函數。如下:
Sub OpenConn(ByRef conn)
Dim strDBPath, strDBConnection
strDBPath = Server.MapPath("database/tax.mdb")
strDBConnnection = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & strDBPath
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDBConnnection
End Sub
7、當一個對象不在使用時要釋放對象資源,比如objFSO,objRS對象等。採用統一函數調用。函數如下:
Sub CloseObj(ByRef obj)
If IsObject(obj) Then
obj.Close
Set obj = nothing
End If
End Sub
8、時間全部以字元串的形式保存到資料庫中,這樣做能夠是日期在不同的資料庫中都能良好地保存,也方便資料庫地遷移。時間用14位字元串保存,日期用8位字元串保存。
七.網站首頁head區代碼規范
head區是指首頁HTML代碼的和之間的內容。 必須加入的標簽
1.公司版權注釋
2.網頁顯示字元集
簡體中文:
繁體中文:
英 語:
3.網頁製作者信息
4.網站簡介
5.搜索關鍵字
6.網頁的css規范
(參見目錄及命名規范)
7.網頁標題
8.可以選擇加入的標簽
1.設定網頁的到期時間。一旦網頁過期,必須到伺服器上重新調閱。
2.禁止瀏覽器從本地機的緩存中調閱頁面內容。
3.用來防止別人在框架里調用你的頁面。
4.自動跳轉。
5指時間停留5秒。
5.網頁搜索機器人向導.用來告訴搜索機器人哪些頁面需要索引,哪些頁面不需要索引。
CONTENT的參數有all,none,index,noindex,follow,nofollow。默認是all。
6.收藏夾圖標
所有的javascript的調用盡量採取外部調用.
附標簽:
標簽不屬於head區,這里強調一下,為了保證瀏覽器的兼容性,必須設置頁面背景
八.網站建設尺寸規范
1. 頁面標准按800*600解析度製作,實際尺寸為778*434px
2. 頁面長度原則上不超過3屏,寬度不超過1屏
3. 每個標准頁面為A4幅面大小,即8.5X11英寸
4. 全尺寸banner為468*60px,半尺寸banner為234*60px,小banner為88*31px
5. 另外120*90,120*60也是小圖標的標准尺寸
6. 每個非首頁靜態頁面含圖片位元組不超過60K,全尺寸banner不超過14K
⑺ 程序員必須知道的HTML常用代碼有哪些
html+css代碼
文本設置
1、font-size: 字型大小參數
2、font-style: 字體格式
3、font-weight: 字體粗細
4、顏色屬性
color: 參數
注意使用網頁安全色
超鏈接設置
text-decoration: 參數
主要用途是改變瀏覽器顯示文字鏈接時的下劃線。
參數取值范圍:
underline:為文字加下劃線
overline:為文字加上劃線
line-through:為文字加刪除線
blink:使文字閃爍
none:不顯示上述任何效果
背景
1、背景顏色
background-color: 參數
2、背景圖片
background-image: url(URL)
URL就是背景圖片的存放路徑,none表示無。
3、背景圖片重復
background-repeat: 參數
參數取值范圍 :
no-repeat:不重復平鋪背景圖片
repeat-x:使圖片只在水平方向上平鋪
repeat-y:使圖片只在垂直方向上平鋪
如果不指定背景圖片重復屬性,瀏覽器默認的是背景圖片向水平、垂直兩個方向上平鋪。
4、背景圖片固定
背景圖片固定控制背景圖片是否隨網頁的滾動而滾動。如果不設置背景圖片固定屬性,瀏覽器默認背景圖片隨網頁的滾動而滾動。為了避免過於花哨的背景圖片在滾動時轉移瀏覽者的注意力,一般都設為固定
background-attachment: 參數
參數取值范圍:
fixed:網頁滾動時,背景圖片相對於瀏覽器的窗口而言,固定不動
scroll:網頁滾動時,背景圖片相對於瀏覽器的窗口而言,一起滾動
區塊
1、單詞間距
word-spacing: 間隔距離
2、字母間距
letter-spacing: 字母間距
3、文本對齊
text-align: 參數
參數的取值:
left:左對齊
right:右對齊
center:居中對齊
justify:相對左右對齊
4、垂直對齊
vertical-align: 參數
top:頂對齊
bottom:底對齊
text-top:相對文本頂對齊
text-bottom:相對文本底對齊
baseline:基準線對齊
middle:中心對齊
sub:以下標的形式顯示
super:以上標的形式顯示
5、文本縮進
text-indent: 縮進距離
12px相當於一個文字距離
6、空格
white-space: 參數
normal 正常
pre 保留
nowrap 不換行
7、顯示樣式
display: 參數
參數取值范圍:
block:塊級元素,在對象前後都換行
inline:在對象前後都不換行
list-item:在對象前後都換行,增加了項目符號
none:無顯示
方框
1、height 高度
2、width 寬度
3、padding 內邊距
4、margin 外邊距
5、float(浮動):可以讓塊級元素在一行中排列,例如橫向菜單。
6、clear 清除浮動
邊框
1、樣式
border style 參數
邊框樣式的參數:
none:無邊框
dotted:邊框為點線
dashed:邊框為長短線
solid:邊框為實線
double:邊框為雙線
2、寬度
border width 參數
3、顏色
border color 參數
列表
list-style-type 列表樣式
不同瀏覽器的列表符可能不相同,可能會影響到網頁,所以網頁中的列表大多都是由背景圖片顯示。
控制用戶界面的樣式
滑鼠
cursor:滑鼠形狀參數
CSS滑鼠形狀參數表:
滑鼠形狀:CSS代碼
style="cursor:hand" 手形
style="cursor:crosshair" 十字形
style="cursor:text" 文本形
style="cursor:wait" 沙漏形
style="cursor:move" 十字箭頭形:
style="cursor:help" 問號形
style="cursor:e-resize" 右箭頭形
style="cursor:n-resize" 上箭頭形
style="cursor:nw-resize" 左上箭頭形
style="cursor:w-resize" 左箭頭形
style="cursor:s-resize" 下箭頭形
style="cursor:se-resize" 右下箭頭形
style="cursor:sw-resize" 左下箭頭形
HTML常用代碼之:結構性定義
文件類型<HTML></HTML> (放在檔案的開頭與結尾)
文件主題<TITLE></TITLE> (必須放在「文頭」區塊內)
文頭<HEAD></HEAD> (描述性資料,像是「主題」)
文體<BODY></BODY> (文件本體)
標題<H?></H?> (從1到6,有六層選擇)
標題的對齊 <H?ALIGN=LEFT|CENTER|RIGHT></H?>
區分<DIV></DIV>
區分的對齊 <DIVALIGN=LEFT|RIGHT|CENTER|JUSTIFY></DIV>
引文區塊<BLOCKQUOTE></BLOCKQUOTE> (通常會內縮)
強調<EM></EM> (通常會以斜體顯示)
特別強調<STRONG></STRONG> (通常會以加粗顯示)
引文<CITE></CITE> (通常會以斜體顯示)
碼<CODE></CODE> (顯示原始碼之用)
樣本<SAMP></SAMP>
鍵盤輸入<KBD></KBD>
變數<VAR></VAR>
定義<DFN></DFN> (有些瀏覽器不提供)
地址 <ADDRESS></ADDRESS>
大字<BIG></BIG>
小字<SMALL></SMALL>
與外觀相關的標簽(作者自訂的表現方式)
加粗<B></B>
斜體<I></I>
底線<U></U> (尚有些瀏覽器不提供)
刪除線<S></S> (尚有些瀏覽器不提供)
下標<SUB></SUB>
上標<SUP></SUP>
打字機體<TT></TT> (用單空格字型顯示)
預定格式<PRE></PRE> (保留文件中空格的大小)
預定格式的寬度<PRE WIDTH=?></PRE>(以字元計算)
向中看齊<CENTER></CENTER> (文字與圖片都可以)
閃耀<BLINK></BLINK> (有史以來最被嘲弄的標簽)
字體大小 <FONTSIZE=?></FONT>(從1到7)
改變字體大小 <FONTSIZE=+|-?></FONT>
基本字體大小 <BASEFONTSIZE=?> (從1到7; 內定為3)
字體顏色 <FONTCOLOR="#$$"></FONT>($$為顏色代碼)
HTML常用代碼之:修改頁面的實用性HTML代碼
貼圖:<img src="圖片地址">
加入連接:<a href="所要連接的相關地址">寫上你想寫的字</a>
在新窗口打開連接:<a href="相關地址" target="_blank">寫上要寫的字</a>
移動字體(走馬燈):<marquee>寫上你想寫的字</marquee>
字體加粗:<b>寫上你想寫的字</b>
字體斜體:<i>寫上你想寫的字</i>
字體下劃線: <u>寫上你想寫的字</u>
字體刪除線: <s>寫上你想寫的字</s>
字體加大: <big>寫上你想寫的字</big>
字體控制大小:<h1>寫上你想寫的字</h1> (其中字體大小可從h1-h5,h1最大,h5最小)
更改字體顏色:<font color="#value">寫上你想寫的字</font>(其中value值在000000與ffffff(16位進制)之間
消除連接的下劃線:<a href="相關地址" style="text-decoration:none">寫上你想寫的字</a>
貼音樂:<embed src="音樂地址" width="寬度" height="高度" autostart=false>
貼flash: <embed src="flash地址" width="寬度" height="高度">
貼影視文件:<img dynsrc="文件地址" width="寬度" height="高度" start=mouseover>
換行:<br>
段落:<p>段落</p>
原始文字樣式:<pre>正文</pre>
換帖子背景:<body background="背景圖片地址">
固定帖子背景不隨滾動條滾動:<body background="背景圖片地址" body bgproperties=fixed>
定製帖子背景顏色:<body bgcolor="#value">(value值見10)
帖子背景音樂:<bgsound="背景音樂地址" loop=infinite>
貼網頁:<iframe. src="相關地址" width="寬度" height="高度"></iframe>
HTML常用代碼之:常常會遇到的問題
點擊關閉窗口
<a href="javascript.:top.window.close();">點擊關閉窗口</a>!
請問如何去掉主頁右面的滾動條?
<body scroll="no">
<body style="overflow-y:hidden">
如何做到讓一個網頁自動關閉.
<html>
<head>
<OBJECT id=closes type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<param name="Command" value="Close">
</object>
</head>
<body >
這個窗口會在10秒過後自動關閉,而且不會出現提示. </body>
如何在不刷新頁面的情況下刷新css?
<style>
button{ color:#000000;}
</style>
<button nclick=document.styleSheets[0].rules[0].style.color=『『『『red『『『『>點擊按鈕直接修改style標簽里button選擇符使按鈕改為紅色</button>
請問如何讓網頁自動刷新?
在head部記入<META. HTTP-EQUIV="Refresh" c>其中20為20秒後自動刷新,你可以更改為任意值。
如何讓頁面自動刷新?
方法一,用refresh
HTML 代碼片段如下:
<head>
<meta. http-equiv="refresh" c>
</head>
5表示刷新時間
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]
方法二,使用setTimeout控制
<img src=/logo.gif>
<script>
function rl(){
document.location.reload()
}
setTimeout(rl,2000)
</SCRIPT>
如何讓超鏈接沒有下劃線
在源代碼中的<HEAD>…</HEAD>之間輸入如下代碼:
<style. type="text/css"> <!--
a { text-decoration: none}
--> </style>
請問如何去掉IE的上下滾動條?
<body style=『『『『overflow:scroll;overflow-y:hidden『『『『>
</body>
怎樣才能把RealPlayer文件在網頁做一個試聽連接?
<embed height=25src=51js.rm type=audio/x-pn-realaudio-plugin width=50 autostart="false" c>
如何用html實現瀏覽器上後退按鈕的功能?
<a href="java script.:history.go(-1)">點擊後退</a>
或者
<script> history.back() </SCRIPT>
HTML常用代碼之:你不一定知道的技巧
ncontextmenu="window.event.returnValue=false" 將徹底屏蔽滑鼠右鍵
<table borderncontextmenu=return(false)><td>no</table> 可用於Table
<body nselectstart="return false"> 取消選取、防止復制
onpaste="return false" 不準粘貼
on="return false;" ncut="return false;" 防止復制
<link rel="Shortcut Icon"href="favicon.ico"> IE地址欄前換成自己的圖標
<link rel="Bookmark"href="favicon.ico"> 可以在收藏夾中顯示出你的圖標
<inputstyle="ime-mode:disabled"> 關閉輸入法
永遠都會帶著框架
<script. language="JavaScript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm為框架網頁
// --></script>
防止被人frame.
<SCRIPT. LANGUAGE=JAVASCRIPT><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>
網頁將不能被另存為
<noscript><iframe.src=*.html></iframe></noscript>
查看網頁源代碼
<input type=button value=查看網頁源代碼
onclick="window.location = "view-source:"+"http://www.w3cschool.cn"">
刪除時確認
<a href="javascript:if(confirm("確實要刪除嗎?"))location="boos.asp? &areyou=刪除&page=1"">刪除</a>
屏蔽功能鍵Shift,Alt,Ctrl
<script>
function look(){
if(event.shiftKey)
alert("禁止按Shift鍵!");//可以換成ALTCTRL
}
document.onkeydown=look;
</script>
網頁不會被緩存
<META. HTTP-EQUIV="pragma" CONTENT="no-cache">
<META. HTTP-EQUIV="Cache-Control"CONTENT="no-cache, must-revalidate">
<META. HTTP-EQUIV="expires"CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
或者<META. HTTP-EQUIV="expires"CONTENT="0">
怎樣讓表單沒有凹凸感?
<input type=text style="border:1 solid #000000">
<input type=text style="border-left:none;border-right:none; border -top:none; border-bottom: 1 solid#000000"></textarea>
不要滾動條?
讓豎條沒有:
<body style="overflow:scroll;overflow-y:hidden">
</body>
讓橫條沒有:
<body style="overflow:scroll;overflow-x:hidden">
</body>
兩個都去掉?更簡單了
<body scroll="no">
</body>
怎樣去掉圖片鏈接點擊後,圖片周圍的虛線?
<a href="#"nFocus="this.blur()"><img src="logo.jpg"border=0></a>
電子郵件處理提交表單
<form. name="form1"method="post" action="mailt****@***.com"enctype="text/plain">
<input type=submit>
</form>
在打開的子窗口刷新父窗口的代碼里如何寫?
window.opener.location.reload()
如何設定打開頁面的大小
<body nload="top.resizeTo(300,200);">
打開頁面的位置<bodynload="top.moveBy(300,200);">
在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動
<STYLE>
body
{background-image:url(logo.gif); background-repeat:no-repeat;
background-position:center;background-attachment: fixed}
</STYLE>
檢查一段字元串是否全由數字組成
<script. language="Javascript"><!--
function checkNum(str){return str.match(//D/)==null}
alert(checkNum("1232142141"))
alert(checkNum("123214214a1"))
// --></script>
獲得一個窗口的大小
document.body.clientWidth; document.body.clientHeight
怎麼判斷是否是字元
if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");
else alert("全是字元");
TEXTAREA自適應文字行數的多少
<textarea rows=1 name=s1 cols=27npropertychange="this.style.posHeight=this.scrollHeight">
</textarea>
日期減去天數等於第二個日期
<script. language=Javascript>
function cc(dd,dadd)
{
//可以加上錯誤處理
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() +1) + "月" + a.getDate() + "日")
} cc("12/23/2002",2)
</script>
選擇了哪一個Radio
<HTML><script. language="vbscript">
function checkme()
for each ob in radio1
if ob.checked then window.alert ob.value
next
end function
</script><BODY>
<INPUT name="radio1" type="radio"value="style" checked>Style.
<INPUT name="radio1" type="radio"value="barcode">Barcode
<INPUT type="button" value="check"nclick="checkme()">
</BODY></HTML>
腳本永不出錯
<SCRIPT. LANGUAGE="JavaScript">
<!-- Hide function killErrors(){return true;} window.onerror = killErrors;// -->
</SCRIPT>
ENTER鍵可以讓游標移到下一個輸入框
<input nkeydown="if(event.keyCode==13)event.keyCode=9">
⑻ 求一個設計師亮出菜刀,老闆亮出手槍的GIF
應該是這張吧?
⑼ 現在做網站用什麼軟體比較好
不同的建站時期,主流使用的建站軟體是不一樣的。在建站初期,Firework(圖像處理)、Flash(動畫製作)、Dreamweaver(網頁製作)紅極一時,人們稱其為"網頁三劍客"。⑽ 求一張招聘程序員的搞笑動態GIF圖片
來看看是不是這張