剛剛接㺫客戶來電,他們剛發現用IE瀏覽他們的網頁時會有些奇怪的情形,
例如語言設定會突然回復成預設值等等。
於是拿一部還有IE7的舊機來試試,立即鎖定那些怪現像都是SESSION VALUE出事。
因為出事的只是其中一個域名(Domain Name),
該副域名暫時用一個空的Frameset指向主頁的網頁。
二話不說就上網找找突竟IE7,Frameset,Session是否有衝突。
果然,很快就找到很多人都碰過這個問題。
主因就是IE6,IE7把由Frameset連接到非同IP/域名時視作第三方域名,
預設的安全設定是把它的Session,Cookie之類的功能屏閉了。
去㺫IE8已經沒有這個問題了,事實上,那麼多種瀏灠器,
只有IE6,7曽經出䚈這麼莫名其妙的錯誤⋯⋯
幸好,都有一個解得的解決方案。
就是在目標的網頁加上一句看到人一頭霧水的Header語法︰
header('P3P: CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"');
好奇地嘗試去了解一下這句語法何解,但搜尋了一㑹不果,決定放棄,
總之測試過一加了後就一切回復正常就OK啦!
2010-09-04
IE7使用頁框(Frameset)時的Session/Cookie存取
2009-03-31
Flash中的向量圖與點陣圖
發現「程式編寫」這個標籤好像丟在一旁很久,
近日又在工作上遇到一些值得分享的經驗之談,
等我都學下人寫下Flash小錦囊先。
點陣圖(bitmap graphic)及向量圖(vector graphic),
基本上就是一個逐點逐點記,另一個是用數學方法把圖像儲存。
點陣圖可以表達得較細緻,向量圖則有放大縮細不失真的優點。
當然還有一個檔案儲存大小的分別……
一般來說,我們會說點陣圖因為要逐點記,所以檔案會較大,
不過這種說法有點不公平,因為兩種圖檔所呈現的東西根本不同。
所以在Flash中,兩種格式的圖檔是有必要共存,
而且在製作過程中,還要花點心機去取捨一下,
究竟哪些圖應該用哪種格式。
現在很多人做Flash時會先以AI畫好圖,
再把畫好的東西抄進Flash中用,兩種軟件都是同公司的,
Adobe還好窩心地把向量圖抄來抄去這個動作做得好像很方便似的……
不過當一種東西變得實在太方便的時候,就會被濫用,
之後就會發現這種方便其實會帶給大家另類的不便!
先看看這顆星星,
很普通的五角星,加漸變色的效果,這幅點陣圖檔是4KB.
再來看一看這顆星星︰
看上去有分別嗎?其實這個是一個swf檔,是上面同一粒星星由AI抄入Flash的,
但出來的swf卻用了10KB,而用來儲著一粒星星的fla檔更高達860KB!!
究竟發生了甚麼事呢?讓我先賣個關子。
事緣中幾天開了一個FLA檔,入面已有約干程式呀動畫呀之類做了,
奇怪的是,有個ANIMATION播放時特別窒下窒下,
但那個動畫只是很簡單的,其中一半就是這粒星由透明變出現,
一個超簡單的在時間軸上做的動畫變化。
找了很久,最後無意中在我把這粒星星移走了後,
整個動畫就變得流暢起來!!於是我卻定細心看看這粒星星。
普通的五角星,沒有特別呀。
漸變色,Flash都有基本的漸變色工具呀……
咦!但這粒星不是圓形或線形漸變,而是星形漸變?!
之後我就發現一個壯觀的事實……原來這麼簡單在AI畫了一粒星,
再用漸變工具做好多星形漸變,再很「方便」地Ctrl+C, Ctrl+V貼去Flash,
在Flash中為了呈現漸變效果,它很聰明的自己把一粒星變成以下圖中的……
總共218粒由大至少,慢慢逐步變色的星星堆叠在一起做出漸變效果!
218粒星星!!!
怪不得那個這麼簡單的Tweening會變得那麼窒,
因為那不是一個幾何圖形的運算,而是218個!!
最後,不用多想,我就把那粒星星匯出成一個點陣圖,
再直接在Flash中用那點陣圖做Tweening,才算解決了這個問題。
單單一粒小小的星星,已經可以把整個Flash拖慢,
那麼如果是需要大量圖像的動畫、程式、小遊戲等,
又是否應該全部改用點陣圖呢?
當然不是,全部用點陣圖的話,swf檔就會變得很大,
就算現在是寬頻年代,但檔案大總要費時下載的。
但如果過份使用向量圖,又會因為佔用了運算資源去繪圖,
可能會導致把整個程式拖慢的失敗結果。
我們是要自己取捨,好好想一想整個flash入面的分配。
簡單地說,圖形簡單的,明顯用向量圖有好處。
但如果是較複雜的圖形,用向量圖可能要分幾層才能表達的話,
尤其要在時間軸上做tweening的,就更應該要小心別讓太多無謂的向量化累事。
其實本來設計師畫圖時,人手畫的部份其實可想像的幾可形都只得有限數,
最大問題都是由AI抄去FLASH時自動生成的東西。
(例如上面一粒星變218粒……)
很討厭收到些fla檔,一開出來整個元件庫中都是不知名的怪物!
哼,我開過一個很簡單的fla檔,入有過千個movie clip在library,
但其中有七成以上其實是重覆的或甚至乎是冇用的……
沒錯library放多了些東西看似無傷大雅,不過去到這等數量,
就完全地浪費資源,把整個軟件的速度拖慢了到一個不夠忍受的地步!
其實在把繪圖物件由AI抄去Flash的時候,只要細心少少,
看見重覆的東西,不如只把一個抄到Flash,再在Flash中做一些組合,
例如畫了十輛汽車,如果逐輛原架的抄去,就算是2-D側面的車每架兩個車輪,
都會在library做了二十個一模一樣的moive clip出來!!
更何況一個車輪還可能因為顏色或陰影等而再分了做數個movie clip……
小數怕長計,自己想像一下分別是多麼的大!
如果有些圖根本在Flash中不打算再變形而且用向量表達會變得太過複雜的話,
倒不如因應該圖的需要而選用jpg,gif,png等。
不過要記著用點陣圖的話圖的大小會直接反映在最後匯出的swf上。
最重要都是先清楚自己/客人想要甚麼。只選擇得宜,分別發揮兩種圖檔的優點,
再加一點經驗,要找到最好的平衡點其實也不難。
2008-04-06
改頭換臉
其實這兒的面板一直有點問題,正如奇雲的留言,
Firefox根本就不能正常看到以前那個樣子。
問題大概是出在我上次苦心鑽研了很久才做出來的半透明底樣式。
其實要做半透明底不太難,難就難在我上次是想要支援IE6!
我現在才知這個想法是多麼的天真,
沒錯,上次最後都做到了,卻換來很多很多的缺點!
再加上早陣子,試新東西時不知改亂了甚麼,
令到最新回應的部分亦告出現奇怪的錯誤,
於是昨天就想試試落手修改一下,
最後,一衝動就把那複雜到我自己都看不清的模組弄得一團糟!
於是乎,最後把心一橫,全部刪除重新再做過!
當然,今次不再強求要甚麼半透明背景了!
(剛才四處找資料時,都見到很多高手有做半透明的樣式,
我立即好奇地用另一部還是IE6的電腦試試,果然是不支援的!)
經過一整晚的努力,總算把這兒修復好了,
用慣了左中右的三欄模式,今次還是建基於這個基礎去改。
現在任何錯誤的警告都沒有了,
而且我在管理頁面的元件錯位亦都消失了,
這樣就更方便我隨時加一些新東西到左右兩邊的欄位上!
顏色方面,初時都想用回以往的藍白色系,
但看著電腦桌面上的X-File Wallpaper,
突然決定來一個X-File感覺的顏色配搭,
等我找到一些合適的圖就把背景也換成X-File先得!
大家對這個新面貌有甚麼意見呀?
講下我知等我再諗諗可以點改,謝謝!
2007-12-30
創意結合與實踐
在這個科技發展迅速的社會,想要幹一番大事,
有過人的創意,大概是其中一個途徑。
但單單有創意是沒有用的,空口講白話很多人都會,
真能夠實踐自己的創意出來,才能算是踏出成功的第一步。
再者,在這個技術日新月異的社會,
有時懂得運用一些新產品來實踐自己的構思的話,
可能會帶來一些意想不到的效果。
在網上看到一條片段,先來做一個簡單的介紹。
大家知不知道甚麼是「Head Tracking」?
直譯就是「頭部追蹤」,但即是甚麼呢?
據片中的Johnny Lee所說,就是要用一個方法,
追蹤分析出用家的頭部活動位置,從而計算其看畫面的角度,
再在畫面上模擬顯示該視角應該看到的影像,
從而做到一個三維立體感覺。
會不很難明白?但就算聽不明白,也可看看以下這段片,
效果非常讓人驚喜,一個非常有趣的構思。
片中這位Jonny Lee,看樣子及名子應該都是中國人罷,
他構思了一系列需要追蹤定位而實現的設計,
靈感大概都是自從去年任天堂的Wii面世後而來罷?!
上面那個模擬立體環境的視覺效果,大家覺得怎樣呢?
最大的缺點只是每次只可以滿足到一位觀眾,
(大家明白點解唔可以一次過追蹤兩個頭罷?!)
但正如他自己說的,那一位觀眾卻可以看到在平面上較真實的立體效果,
而且還是可以互動的呢!唔知會唔會真係在遊戲廠商考慮一下呢?
其實從他的網頁得知他較早前已有好幾樣以Wiimote那個紅外線接收器為本的設計,
當中不得不看看以下這個「平價白板」的設計概念與實踐。
只要一支Wiimote,投影機的屏幕,甚至您的電腦螢光幕也可以變成一個輕觸式平台呢!
對嗎?這個設計是否很酷?這個概念好好包裝下去,應該真的有機會成為新產品罷,
我見Youtube已有很多條由不同人士自己模仿這個方法去試的片段呢!
那個投射屏幕,最少都三四十寸,一個三四十寸的Touch Screen Mon唔知幾貴呢?
而且它還可以做到多接觸點感應,又平又勁,利害!
他就是把別人的創意(Wiimote當初都冇人估到竟然是把接收器拿在手上),
加上自己的創新思念,成就出一個創意結合的實用概念,
然後再加上自己的能力(一個博士生的能力)把概念實踐出來,
這種創意、這種實踐力,再加上現代那麼方便的網上媒體,
大概他的成功己經離他不遠罷……
從他身上,學了寶貴的一課,有關實踐力的重要一課。
2007-08-20
在 Vista 的IIS 7 中執行 ASP
(*自己是靠寫程式為生的,決定在這兒寫一些工作時遇到,
解決解決了的電腦相關問題。)
自從公司換了部新電腦後,
就轉了用Windoo Vista, 基本上都沒有大問題,
所有我日常要用的軟件全部都用到,
只是一直解決不了IIS 7 不知怎樣行ASP 的問題。
好明顯,IIS 7是尊為ASP.NET而設計的,
在網上找了好一會,才知道原來要用純ASP,
有很多設定要手動更改才行。
找到兩個網頁有提這個問題,
但都是國內的簡體字網頁,
有一些設定上的選項和繁體不同,
順手在這兒記下步驟。
一、Vista中IIS7的安裝
Vista中IIS7預設是不安裝的,所以在安裝完 Vista之後要自己動手安裝IIS7。
安裝的步驟為:
開始 -> 控制台-> 程式 -> 打開或關閉Windows功能 -> Internet資訊服務。
IIS7安裝時要注意ASP、ASP.NET等的支援,是需要把功能自行選取的,預設也是不安裝的。
二、IIS7安裝後ASP還不能正常運作,還需要對Vista進行手動設定。
1.打開Vista系統對父目錄的支援
在IIS7網站的IIS7管理主頁上選擇"ASP",然後在"行為"組中將"啟用上層路徑"設置為True即可。
如需打開偵錯,還需要將“偵錯內容”中的“啟用伺服器端偵錯”,“啟用用戶端偵錯”更改為True
2.還有,切記要把以下的目錄手動加一個"Autheticated Users"的讀寫或完全控制許可權。C:\windows\ServiceProfiles\NetworkService\AppData\Local\Temp
尤其在對Asp+Access操作過程中,如果不對Vista系統操作第2步將會出現如下錯誤:
Microsoft JET Database Engine 錯誤 '80004005' 未指定的錯誤
感謝以下兩個BLOG 主的教學!
http://www.wifw.cn/?action=show&id=31
http://www.pjhome.net/article.asp?id=719
2007-07-10
電腦病毒--威金
早兩個月,家中的電腦均被病毒入侵,
耗費了我差不多一星期去收拾殘局,
幾經辛苦,找出病毒是近月大熱的一種蠕蟲病毒。
今天,拍檔的防毒軟件突然彈出一攔截訊息,
說他電腦中有一個檔案正靜靜嘗試向外連接,
他讀了個檔案名Logo1_.exe出來,我立即慘叫,
因為他的電腦已慘遭毒手!
威金(Worm.Win32.Viking)另一中譯為--維京病毒
病毒簡介:該病毒是一個會從遠端伺服器下載檔並感染.exe檔的蠕蟲病毒,它會降低安全防護的效能並通過網路共用傳播自己。
病毒症狀:
看了一些關於此病毒的症狀,不完全統計如下:
1、佔用大量網速,使機器使用變得極慢。
2、會捆綁所有的EXE檔,只要一運用應用程式,
在winnt下的logo1.exe圖示就會相應變成應用程式圖示。
3、有時還會時而不時地彈出一些程式框,有時候應用程式一起動就出錯,
有時候起動了就被強行退出。
4、能繞過所有的還原軟體。
5、下載並釋放多個木馬程式,包括xiaran.dat、rundl132.exe、vDll.dll、svchqs.exe、svhost32.exe、dllz.dll、svchs0t.exe、C:\gamevir.txt、C:\1.txt 、C:\log.txt等等。
尤其留意 rundl132 尾三個位是數字「1」不是英文「l」,
他就是想冒充正常window會有的rundll23檔案
想要知道閣下的電腦有沒有中毒,
請更新防毒軟件,盡可能用多幾種去掃描一下。
如果發現window資料夾中已有一個 Logo1_.exe的檔案,己代表中招了!
可再搜查一下有冇以上列出的檔案。
基本上,這病毒無法根治!只得重裝系統一途!
因為這種天殺的病毒是會把它能找到的,
在電腦中的.exe 檔都感染成帶菌者!
就算刪除了上列那堆檔案,只要任何一個帶菌的exe檔被執行,
病毒又會再發作了!
從網上找到以下的清除方法︰
如何修復受感染的檔案?
若你的電腦不幸中了這種病毒,即使重裝防毒軟件掃毒,又偵測到病毒的存在,也會建議你隔離或刪 除受感染的檔案,但此舉可能會導致Windows不能正常運作。還有,一旦開啟受感染的檔案,病毒便會 隨即重生及運作!由於較早時段我尚未找到較好的修復軟件,所以提出了一個較繁複的手動修復方法。 現在終於找到了,解決方法如下:
1. 先下載由瑞星防毒所推出的修復程式:VikingKiller.scr
(這個我用過,但是並未能找出病毒!可能病毒又已變種!
後來找到北京江民新科技術有限公司的威金蠕虫專殺工具,好像有點效)
2. 重新啟動電腦,按F8進入沒有網絡功能的安全模式。
3. 開啟註冊表:開始 → 執行 → 鍵入regedit → 確定。
4. 找到[HKEY_LOCAL_MACHINE\Software\Soft\DownloadWWW],在右邊刪除 "auto"=1。
5. 找到[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] ,在右邊刪除 "load"= "C:\Windows\uninstall\rundl132.exe" 一項。
6. 按Ctrl + Alt + Delete,在「處理程序」下,看看有沒有Logo1_.exe、rundl132.exe等病毒程式在執行, 如果有,則結束它們運作 (此舉可加快步驟7的進程)。
7. 執行VikingKiller.scr進行掃毒,它的好處是可清除病毒之餘,亦可修復受感染的exe檔案。
8. 由於病毒會在每個根盤(Drive)下產生的_desktop.ini (注意:正常的windows檔為desktop.ini),我 們還要把它們徹底刪掉!例如,你的電腦有三個根盤(C: D: E,那可以開啟記事本,內容為
del C:\_desktop.ini /f/q/s/a
del D:\_desktop.ini /f/q/s/a
del E:\_desktop.ini /f/q/s/a
其中/f 表示強制刪除文件;/q 表示不提示你確定刪除;/s 表示從當前目錄及其子目錄 中刪除指定文件,顯示正在被刪除的文件名;/a 表示按照屬性來刪除。完成後儲存為bat檔,例如delete.bat, 並雙擊執行。
9. 重新啟動電腦入正常模式,開啟(或重裝)防毒軟件,更新至最新版本並進行徹底掃毒。
10. 為安全起見,我會建議大家將檔案做好備份後重灌。你或許會問既然也要重灌,一開始重灌便可,為甚麼要做那 麼多步驟?其原因是一開始便重灌的話,你可能會損失很多自己的檔案,因為你絕不可將受感染的檔案備份。還有, 這病毒有可能會破壞硬碟裏面的sector,即使你重灌數十次後,都可能發現硬碟仍存有很多問題!屆時可以用 HDD Regenerator等軟件在另一台電腦製作開機磁碟,進行大修復。
唉!電腦這東西,有時真的麻煩得可以!
真係要咒罵一下那些製作病毒的衰人!可怒也!