yui的alert在ie10下白屏的解決思路

      最近接到一個jira:在ie10下,頁面彈出提示框後,背景所有白屏了。 css

      說實話,一看到這樣特定瀏覽器下出現問題的jira我就很頭疼,也很畏懼。最開始的思路就是F12 ,debug js代碼,看執行哪一個js語句後白屏了。可是ie10的debug仍是至關很差用,用的很是不順手。執行來執行去,仍是沒有找到好的解決方法,就這樣拖了一天,實在是無思路,就問我leader了。 chrome

      結果我leader一來,不是先調試js,而是直接對比 出現正常遮罩的頁面 ie10的白屏頁面。看看這二者的css有何不一樣,結果發現chrome下有個 opacity:0,可是ie10沒有;並且ie10還多了個iframe,等等細節吧。接着就找那個opacity,發如今一個js代碼中有個判斷:if(document.all){//代碼1}else{//代碼2} 瀏覽器

      是以前ie6789跟chrome ff的處理不一樣,因此針對ie瀏覽器作了特殊處理。可是如今ie10跟chrome的實現又相同了,進入特地爲ie修的bug的方法又不正常了!暈死啊!這可真是實實在在的 找bug! 學習

      因此我修改一下判斷,不用document.all判斷,方法以下。不過還沒複查,不知道有沒有問題。 spa

function getIEVersionGt10() {
   var userAgent = navigator.userAgent;
   //這裏只是判斷了ie10,若是是要判斷ie10及其以上版本 匹配 「MSIE 1」不知是否是更好點
   if ((userAgent.indexOf("MSIE") != -1) && (userAgent.indexOf("MSIE 10") == -1)) {
       return true;
   } else {
       return false;
   }
}

      總之以爲leader的解決問題的方法很值得學習,不要一來就js debug,並且debug難以發現問題,就要換種思路!從現象找齊,追根溯源。 debug

      如今還有一個問題,就是ie10下,alert出來的框框在管理界面不能移動,在前臺界面能夠。可能仍是css問題致使的吧!今早弄了一上午沒解決,內心煩躁就記下這篇文章,當作中場休息。繼續找bug吧! 調試

相關文章
相關標籤/搜索