2018年10月18日 星期四

asp.net menu control 在 Chrome 不正常顯示

asp.net menu control not rending correctly in safari (Chrome 亦同)
https://stackoverflow.com/questions/277197/asp-net-menu-control-not-rending-correctly-in-safari

 使用 ASP.NET 的 web-page 開發模式,所寫的下拉式功能選單,正常運作應如下圖。



這在最早 IE 8 出來時,就會發生選單變成一片空的情形,解決辦法是,開啟它的相容性檢視。這真的是很可笑的一件事,一般所理解的相容性,是針對別家的產品,只有微軟才跟自家產品相容,絕不可能和別人相容。所以,使用 Chrome 或 Firefox 當然也不會是正常的。

這個的解決辦法,比較簡單。只要加上 CSS,即可不用開啟相容性檢視。因為依據新的標準所開發的網頁,在相容性檢視下,根本是個災難啊。修正的 CSS 如下
------------------------------------
<style type ="text/css" >
.IE8Fix {
           /* z-index: 1000; */
position:relative; 
z-index:auto;
        }
</style>

<asp:Menu ID="Menu1" runat="server" BackColor="White" BorderColor="#404040" BorderStyle="Double"
                        BorderWidth="1px" ForeColor="Black" Orientation="Horizontal" DynamicHorizontalOffset="1"
                        DynamicMenuStyle-CssClass="IE8Fix">
                        <Items>
                            <asp:MenuItem NavigateUrl="~/WebMessage.aspx" Text="訊息公告" Value="訊息公告"></asp:MenuItem>
----------------------------

然後,還有更為詭異的情形發生,相同的程式,放在不同的 server,然後用同一 Chrome 瀏覽器開啟,一個正常,另一個不正常,如下圖。然後,Firefox 卻都同樣正常。真是徵軟的品質,一流可靠啊。



經過交叉比對,發現不正常的問題所在是,有雨個 resource 的 javascript 沒有送出。如下圖的第3, 4 筆資料。


這雨個 URL 大概長的像這樣 https://gra206.aca.ntu.edu.tw/ntuweb/WebResource.axd?d=yd3pzel2CBzpd4_iRf8lp4jYXHFvMItjSP_mFAUgHDN2Xt-sDhIN1QcV6aA54vkDhshCSa-3UvCesVfgCrqBNUgr5io1&t=634964077412225000。只是,要不要送出這兩個檔,開發者無從決定,完全視系統高興與否。

就加上 'missing resource javascript'  來 Google 一下,還真找到解決辦法。如前述網址所載。還真是詭異的解決辦法,參考網頁是針對 Safari,就把它改成 chrome 就好。
----------------------------
If Request.ServerVariables("http_user_agent").IndexOf("Chrome", StringComparison.CurrentCultureIgnoreCase) <> -1 Or Request.UserAgent.Contains("AppleWebKit") Then
        Request.Browser.Adapters.Clear()
        Page.ClientTarget = "uplevel"
End If
----------------------------

微軟的一貫政策是,過期產品一概不支援,也沒有詳細資料可供參考,能否解決全靠運氣。我只是想讓它正常運作,再拖一陣子,儘快把程式轉成 PHP。

2018年10月5日 星期五

大同電鍋修理

民國 93年 (應該是民國吧,大同好像不怎麼先進的感覺) 出廠的電鍋,型號 TAC-11KSD,代表是11人份的電鍋,耗電量 800W,容量 1.98L。

要拆開修理,很簡單,只要拆一顆螺絲,另兩個是卡筍。
在拆之前,準備一個強力磁鐵,像是從硬碟拆下的那種超強吸力磁鐵,可以吸住拆下的螺絲,這樣才不會弄掉螺絲。



拆開後,內部看起來很簡潔。但也很結構化和模組,很好修理,不像是台灣 (或者是華人) 能設計出來的。Google 了一下,才知道原來是和東芝(Toshiba)技術合作,而東芝是歷史上第一個將電鍋成功商業化的廠商。


主要構件有三部分,具有彈跳開關的恆溫板組,電熱片 (或稱加熱片),銀接點 (包括上下的銀接點)。圖中的直尺,用來當作購買電熱片的比例的參考。

易損壞的構件為加熱片和接點。發熱元件,就像燈泡的燈絲,有使用壽命。

接點也容易損壞,每開關一次,都會有火花,損蝕接點。有時,按下開關燈不亮,多按幾次又會亮。直到最後,有一天怎麼按都不再亮。假如電熱片是好的,只是接點變黑接觸不良,救急方式,可以拆下上面的銀接點,用刀片或砂紙,把接點清乾淨,又可以撐一陣子。究竟的解決方式,還是上網買個接點來換。

下圖是上面的銀接點,可以看到左端的接點,已被燒得漆黑,不導電了。


下圖為壓板的近照,上有 TAC-8031-A 的編號。



最近電鍋有點怪怪的,按下開關,不通電,燈不亮,上網買了一些零件。左圖是加熱片,這次沒換,當備用。右圖中,黑色直的是上銀接點,黃銅色的下接點。


左邊的相片是上銀接點拆下後,下接點的相片。右邊的相片是拆下的下接點的相片,包括絕緣的墊圈和墊片。要拆下接點,必須用到六角板手,而且有點不太順手,要有點耐心。拆之前,把4顆彈跳開關的螺絲拆下,彈跳開關拿起來,會比較好拆裝。
  

用久了,開關接觸不良,有時開關按下,加熱燈不亮。多按幾次,也許會通電。直到最後,完全不通電。開關換掉後,百分之百通電,真是太棒了。上下接點,網路賣一組100元,算蠻划算的。







網誌存檔