Browse by Tags

Hash對講機-IFrame跨站台網頁通訊程式庫
這是最近 跟老IE纏鬥 衍生的副產品。 雖然已研究出 用document.domain克服無法與IFrame跨站台網頁溝通問題 ,但實務上常不免會遇到使用IP、機器名稱或別名連上網站的場合,document.domain法只適用URL採FQDN完整網域名稱且後段網域相同的情境,實用性大減。 針對IFrame跨站台溝通, 浏览器同源政策及其规避方法 一文提到三種解法: window.name 跨文件傳輸API(Cross-Document Messaging) 片段識別碼(Fragment Identifier...
Posted 18 June 2016 11:49 AMJeffrey | 1 comment(s) 4,478
Filed under: ,
【茶包射手日記】Java內嵌IE網頁疑案
接獲報案:某支Java開發的程式以內嵌IE方式顯示特定網頁,在特定機器執行時網頁出現異常。 初步蒐集情報如下: 於問題機器單獨使用IE或Chrome可正常顯示該網頁 問題機器之IE版本為IE11 問題僅出現在特定機器,同一Java程式於其他機器執行正常 於異常網頁按右鍵檢視HTML原始碼完整,異常部分推測為JavaScript出錯導致 IE在內嵌模式下無法使用F12開發者工具,偵錯困難 沒有F12可用,改用 Fiddler 側錄往來封包,找出後半段Request未發送證據,推測最大可能是JavaScript程式在某階段中止執行...
Posted 19 March 2016 12:27 AMJeffrey | with no comments 4,061
Filed under: ,
【茶包射手日記】IE CORS跨網域存取的特殊規則
同事報案,安裝SPA專案在localhost,跨網域發出AJAX請求到ServerA時出現存取被拒訊息,而該情況獨獨出現於IE11,Chrome與Firefox並無問題。 排除Web API端的CORS配套機制的問題(由Chrome及Firefox具名擔保,延伸閱讀: CORS OPTIONS Preflight Request與IIS設定 ),且更玄的是問題只發生在同事的IE11,在我的IE11測試本機localhost SPA專案發送同樣的AJAX需求到ServerA,一切正常。 經過一番診察...
Posted 15 January 2015 11:12 PMJeffrey | with no comments 9,831
Filed under: ,
【笨問題】IE9的「console未被定義」錯誤
一直以來,有個鬼現象纏著我揮之不去,console.log常因不明原因在IE9出現SCRIPT5009: 'console' is undefined (console未被定義) 錯誤! 我當然知道IE從IE8+才支援console物件,但如上圖所示,網頁明明是IE9標準模式,為什麼IE9卻說console物件不存在? 但進行偵錯,console.log()卻又正常! 笨了好久,今天才解開謎團:   IE8/IE9要先按F12開啟IE Dev Tools才能存取console物件啦...
Posted 05 September 2013 10:17 PMJeffrey | 2 comment(s) 16,862
Filed under: ,
IE8 JSON.stringify()的Unicode編碼問題
接獲回報,前幾天釋出的地址輸入輔助元件在IE8上爆炸了,使用loalStorage儲存資料物件的JSON字串時,彈出"記憶體不足"錯誤。 追蹤後,發現問題源於IE8在JSON.stringify()轉換資料物件時,很機車地將中文字元全部換成UCN(Univeral Character Name,即\u1234、\u4e2d這種格式)。用IE Dev Tools即可印證明: 由於地址資料有滿滿的中文,在經過UCN轉換的蹂躪後,大小由1MB爆增到6MB,超出localStorage的容量上限...
【茶包射手日記】呼叫showModalDialog時發生"物件不支援此屬性或方法"錯誤
接獲報案,某個在IE7運作已久的網頁改用IE8執行,onblur事件呼叫windows.showModalDialog()開啟新視窗的功能傳回"物件不支援此屬性或方法"(Object doesn't support this property or method)錯誤。showModalDialog確定是window物件的內建函數,同一網頁已在IE7使用多時,window忽然翻臉不認showModalDialog是哪招? 用錯誤訊息 爬文 後,才想起這是個 老問題 -...
Posted 11 March 2013 10:10 PMJeffrey | with no comments 7,660
【茶包射手日記】送出鈕OnClick事件return false在IE7/8無效
某個網頁出現<input type="submit"> onclick事件return false;卻無法阻止Postback的情況,進一步測試發現問題只出現在IE7/8,表單在IE9則如預期會因onclick事件回傳false取消Postback。 使用刪去法,將網頁元素及程式一點一點移除並反覆測試,終於查出問題所在,答案有點離奇,竟是因為網頁使用了jQuery BlockUI的$(element).block()造成異常。深入jquery.blockUI.js原始碼...
Posted 04 January 2013 04:01 PMJeffrey | with no comments 17,183
Filed under: ,
跨瀏覽器筆記-Submit鈕Click事件設定disabled的行為差異
有個ASP.NET WebForm網頁,因PostBack後的處理邏輯頗為耗時,為防止使用者不耐久侯重複按下送出鈕(那種一急起來會把網頁當快打旋風,瘋狂按鈕連發的使用者,大家都有遇過吧?),加了幾行簡單的jQuery,在送出鈕的Click事件裡設定disabled屬性停用按鈕,再順便顯示"處理中,請稍侯..."請使用者稍安勿躁。其運作如以下範例所示: (PostBack時利用Thread.Sleep 3秒模擬長時間執行) <%@ Page Language="C#"...
Posted 27 June 2012 11:40 PMJeffrey | 8 comment(s) 19,507
Filed under: ,
IE9相容問題-childNodes行為改變
IE9算是微軟大幅向其他瀏覽器靠攏的改版,在網頁呈現上已做到幾乎與Chrome, Firefox, Safari一致,不過,這也意味著IE9跟IE8的行為有明顯差異。( 補充 ) 前幾天處理了一個IE8檢視正常網頁在IE9爆炸的案例,在此筆記: 以下範例可重現問題。程式在網頁新增一個<table>,而在<td>間故意夾雜換行或空白,接著透過<tr> .childNodes找出第二個<td>並取出其中HTML內容的第一個字元。(理論可用jQuery處理...
Posted 18 May 2012 10:16 PMJeffrey | with no comments 7,389
Filed under: ,
【茶包射手日記】JavaScript Date.getYear()傳回111
接獲使用者回報,某個透過JavaScript取日期的網頁在某些機器上產生的年份有誤,得到"111"的詭異結果! 追蹤程式,發現它是用new Date().getYear()方法取年,而不是大家慣用的getFullYear()。而我們也很幸運地在一台Windows 7 + IE9完成問題重現,getYear()得到111,getFullYear()得到2011: 有趣的是,此時找了另一台Win7 + IE9測試getYear()還真的傳回2011,順利地證實"有些IE9正常取得2011...
showModalDialog與IE快顯封鎖
發現一段使用showModalDialog在onLoad事件自動帶出選擇器網頁的Javascript程式,在IE下被當成快顯(Pop-up)被封鎖。印象中還以為只有window.open會被封鎖,顯然不是,做了點功課,整理IE快顯封鎖程式(Pop-up Blocker)的封鎖原則備忘。 微軟 有篇文章 對快顯封鎖的詳細介紹,算是網頁開發人員角度的技術說明。原則上,快顯封鎖主要會封鎖" 由程式觸發而非使用者點擊觸發的開啟新視窗行為 ",範圍包含: window . open window...
Posted 12 July 2011 07:58 AMJeffrey | 2 comment(s) 20,959
Filed under: ,
TIPS-跨Domain傳遞Modal Dialog結果
雖然 Model Dialog 不是什麼好東西,礙於它目前還是內部系統的一哥,偶爾伺侯一下難搞的大頭症主角是難免的... orz 這回遇到的難題: A網站的網頁利用showModalDialog顯示來自B網站的網頁,透過window.dialogArguments傳過去的參數以及Modal Dialog中用window.returnValue傳回的結果,因違反 Same Origin Policy ,判定跨Domain不得存取,全都變成了undefined。 我用以下例子來重現問題,先做一個caller...
Posted 06 May 2011 08:03 AMJeffrey | 1 comment(s) 11,214
Filed under: , , ,
jQuery 1.4.2 .focus()導致IE首次change事件失效
同事通報的Issue,花了好大功夫才找出問題點,特此記錄。 某網頁的<input id="x" type="text" />以jQuery掛上change事件,使用IE測試,卻出現第一次修改值後按Tab不會觸發change事件,第二次起change事件正常的情形。我另外加了document.getElementById("x").onchange = function() { ... };作為對照,發現使用onchange掛上的事件每次都如預期被觸發...
Posted 09 March 2011 01:17 PMJeffrey | 5 comment(s) 10,356
Filed under: , ,
【茶包射手日記】再遇IE8內建JSON null問題
同事回報我的一個網頁會出現Javascript錯抓資料成"null"(不是null,而是四個字元的字串--"null”)的問題。幾經測試後發現,在其他同事及我的IE8、使用者的IE6/7測試都OK,唯獨同事的IE8會出問題。 深入追查後抓到問題根源,有段程式去用$("#X”).attr(“attr”)抓取<input id=”X” attr=”” />的屬性,經過JSON.stringify時,在同事的IE8上會傳回"null”,IE6...
Posted 18 November 2010 05:19 AMJeffrey | 2 comment(s) 9,302
Filed under: ,
【茶包射手日記】Virutal Server 2005 R2 SP1管理介面啟動VM時出現Script錯誤
同事被一個鬼怪問題困住: 新裝好Virtual Server 2005 R2 SP1,複製完VM並掛上,卻在用管理介面網頁界面啟動VM時出現Javascript錯誤: 'document.getElementById(...)' is null or not an object 而該錯誤導致VM無法開機! 換句話說,安裝VS2005 R2 SP1跟Copy超大vhd的功夫變成在做心酸的。 茶包射手出馬,心想既然是Javascript問題,應該不難追查。打開 IE Developer...
更多文章 下一頁 »

搜尋

Go

<April 2018>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication