qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          Firefox獲取隱藏表單元素的parent節(jié)點(diǎn)的Bug

          getXY : function(element){
          var y = element.offsetTop;
          var x = element.offsetLeft;
          while(element = element.offsetParent){
          y += element.offsetTop;
          x += element.offsetLeft;
          }
          return (new Array(x,y));
          }
            貌似是這個(gè)問題,遞歸代碼在火狐下好像有問題,要打樁測(cè)一下(不打樁了,有l(wèi)og輸出就容易了)
          getXY : function(element){
          var y = element.offsetTop;
          var x = element.offsetLeft;
          var i=0;
          while(element = element.offsetParent){
          y += element.offsetTop;
          x += element.offsetLeft;
          i++;
          }
          //firefox debug
          console.log(i);
          console.log(y);
          console.log(x);
          return (new Array(x,y));
          }
            在ie9下為4 120 100,正常
            火狐為0 0 0,看來只要換個(gè)遞歸的寫法就行了,
            但是這個(gè)問題的原因要查清楚,項(xiàng)目里有這種風(fēng)格寫法的人,可能對(duì)于火狐的解析器來說
            while(element = element.offsetParent)估計(jì)一開始就等于false啊..具體測(cè)試
            具體文章javascript的互等性,要補(bǔ)一下了.
            火狐下element.offsetParent一開始就等于null
            還是要去打樁,bug無法確定了,有可能是遞歸寫法問題,又可能是前面?zhèn)鞯膃lement對(duì)象不對(duì)
            還是不用打樁,調(diào)試時(shí)的一個(gè)報(bào)錯(cuò),說明火狐解析器對(duì)判斷條件里的element = element.offsetParent的理解是正確的.
            前面的傳參不對(duì),or火狐對(duì)offsetParent的屬性理解不對(duì)(如果加懸浮布局,那么火狐下是直接父節(jié)點(diǎn)直接對(duì)應(yīng)body的,然后當(dāng)然是null,記得是),沒有使用危險(xiǎn)的css屬性,應(yīng)該不會(huì)有問題的啊,
          getXY : function(element){
          var y = element.offsetTop;
          var x = element.offsetLeft;
          var i=0;
          if(!element.offsetParent)
          console.log("null");
          console.log(element.id);
          while(element = element.offsetParent){
          y += element.offsetTop;
          x += element.offsetLeft;
          i++;
          }
          //firefox debug
          console.log(i);
          console.log(y);
          console.log(x);
          return (new Array(x,y));
          }
            傳參正確,獲得的id和在ie下一樣,不過應(yīng)該沒有并沒有該id對(duì)應(yīng)的對(duì)象在頁(yè)面中存在,不過ie能理解,這個(gè)火狐也是認(rèn)得,但是貌似這個(gè)parent對(duì)象火狐處理得和ie不同(直接為空,ie正常)
            差點(diǎn)以為有又有什么我不知道的寫法,xx_xx什么的可以直接一起獲取,當(dāng)然不可能啊,草,怪怪的語言,隨時(shí)提心吊膽的
            是 獲取一個(gè)隱藏的input對(duì)象的父節(jié)點(diǎn)問題,導(dǎo)致常用的遞歸獲取元素絕對(duì)坐標(biāo)方法的遞歸失敗.在firefox下,隱藏表單字段估計(jì)直接對(duì)應(yīng)body節(jié)點(diǎn) (猜的),那么就是為空(或者直接就是對(duì)象屬性封裝的問題,反正是bug),估計(jì)就是這個(gè)問題了,稍微修改后BUG被clear(在getXY里用固有結(jié) 構(gòu),把對(duì)象指向日期框后解決)
            offsetParent這個(gè)屬性是個(gè)level0的屬性,實(shí)現(xiàn)各異
            而jq中的>可以跳來跳去,會(huì)不會(huì)也有這個(gè)bug呢?還是jq處理了這個(gè)BUG,等有時(shí)間再去測(cè)試吧
            接下來就是一些css問題,和修復(fù)原控件的select的fous問題,還是盡量不要用input這玩意在ie6下并不好,xinput控件調(diào)用又太麻煩了
            基于先前研究,進(jìn)銷存模塊使用的透明圖片加div顏色屬性實(shí)現(xiàn)的皮膚效果,可以進(jìn)行日期控件在保證其他位置引用兼容性的前提下,進(jìn)行和進(jìn)銷存模塊獨(dú)有的表單皮膚系統(tǒng)整合
            在前輩的指導(dǎo)下修改了getYear(),getFullYear(),火狐是不支持 getYear()的,一開始我還以為那個(gè)控件一直是從Const里獲得年月日的,其實(shí)是外部調(diào)用時(shí)傳個(gè)date()對(duì)象?有時(shí)又在控件里建date()對(duì)象,當(dāng)初可能是想做什么吧,中途可能放棄了,那Const里那個(gè)年月日是干嘛的,要好好看看去
            發(fā)現(xiàn)火狐失去焦點(diǎn)事件的bug,可能比較難改,簡(jiǎn)單說就是點(diǎn)擊旁邊后,選擇框不會(huì)關(guān)..選擇時(shí)候的鼠標(biāo)狀態(tài)問題,火狐好像不會(huì)變選擇手勢(shì)呢

          posted on 2014-11-10 10:11 順其自然EVO 閱讀(499) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄 、selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 沙坪坝区| 岗巴县| 宁海县| 通渭县| 民乐县| 武宁县| 龙陵县| 运城市| 偃师市| 陕西省| 承德县| 阿荣旗| 肥西县| 淮安市| 偃师市| 新宁县| 永泰县| 田阳县| 东方市| 张家界市| 微山县| 双桥区| 云霄县| 邯郸市| 仲巴县| 定南县| 河北省| 扬中市| 板桥市| 宁国市| 略阳县| 无为县| 西充县| 永和县| 抚州市| 丘北县| 双江| 手游| 临湘市| 钦州市| 元谋县|