日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WebKit Frame对象分析

發(fā)布時間:2024/4/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WebKit Frame对象分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Frame應(yīng)該是整個webcore里面最核心的對象之一,前面在講Page對象的文章中,也提到過,從Page的角度來看,其實一個Page就是由一個或者多個Frame構(gòu)成,而這些Frame是以樹狀的關(guān)系組織,我們來看一段HTML代碼

[css]?view plaincopy
  • <html>??
  • ??<body>??
  • ????hello,?everyone!??
  • ?????<iframe?src="..."/>??
  • ?????<iframe?src?="..."/>??
  • ??</body>??
  • </html>??
  • 在以上的html代碼中,一個Page里面就會有三個Frame,首先任何一個Page都會至少對應(yīng)一個Frame,也就是rootFrame,這個Frame不對應(yīng)iframe節(jié)點(Frame中的m_ownerElement對象為空),也是frame樹的根節(jié)點,還有兩個iframe標(biāo)簽對應(yīng)兩個Frame,如果在iframe的屬性src里面指定的頁面中還含有iframe標(biāo)簽的話,那么也會對應(yīng)一個frame(一個iframe標(biāo)簽對應(yīng)一個frame),這樣frame之間就形成了父子關(guān)系

    以下是Frame的一個類圖關(guān)系

    ?

    其中有很多非常重要的對象,下面我們挑出幾個來分析

    1. Page

    Page前面文章中已經(jīng)提到過。這里表示Frame所在的Page是哪個

    2. EventHander

    事件處理者,我們在網(wǎng)頁上(確切的說是在一個frame上)點擊一個按鈕,或者移動鼠標(biāo),首先底層會將該事件截獲然后報給WebView(Page專題中有提到),然后通過Page找到RootFrame,將該事件交給RootFrame的EventHandler,RootFrame的EventHandler如果發(fā)現(xiàn)其所在Frame有subFrame,會交給subFrame的EventHandler來處理,如果處理成功就返回,否則自己繼續(xù)處理。

    3.FrameView

    FrameView對應(yīng)著一個Frame的顯示,這個數(shù)據(jù)結(jié)構(gòu)也是與render引擎連接的紐帶,該結(jié)構(gòu)里面有一個非常重要的接口,叫layout, 接口里面的內(nèi)容就是render dom樹的過程。也有一個非常重要的數(shù)據(jù)成員 RenderObject* mlayoutRootObject;表示render樹的根節(jié)點.

    在32平臺FrameView是繼承自ScrollableView

    4.ScriptController

    腳本相關(guān)操作的入口,我們知道,一個頁面可以執(zhí)行很多js函數(shù),這個結(jié)構(gòu)就是與js腳本相關(guān)的一個對象。

    5 Document

    表示一個文檔,一個html頁面解析完成,會形成一個dom樹(相關(guān)的知識請看dom規(guī)范),該結(jié)構(gòu)就是表示html頁面解析完成后的結(jié)構(gòu),每個標(biāo)簽都會在document上對應(yīng)一個節(jié)點,這也是非常核心的一個數(shù)據(jù)結(jié)構(gòu),從MVC的角度來看,應(yīng)該是M部分。

    6 DOMWindow

    ?在bom規(guī)范中,js可以訪問一個對象,window(bom規(guī)范定義了一系列的標(biāo)準(zhǔn)接口),通過該window的接口,js用戶可以動態(tài)的控制頁面的內(nèi)容,DOMWindow就是表示那個window接口的實現(xiàn),用一個UML的圖來表示,可以表示成如下

    7. FrameLoader

    頁面加載器,與頁面相關(guān)的加載都由其負(fù)責(zé),里面又包含了很多其他的對象,這也是非常重要的一個對象,后面會專門討論。

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的WebKit Frame对象分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美成人va | 永久免费国产 | 亚洲熟乱| 久久综合激的五月天 | 国产人妖ts重口系列网站观看 | 三级免费网址 | 国产理论在线观看 | 亚洲精品一区二区三区在线观看 | 99视频网址 | 潘金莲三级野外 | 亚洲图片 欧美 | 亚洲欧美另类一区 | 欧美区视频 | 久久av一区二区三区 | 免费黄色av | 精品一区二区三区在线播放 | 91久久精品国产91久久 | 九九热视频免费 | 一本在线 | 日韩欧美国产一区二区三区在线观看 | 欧美精品一 | 欧美肉大捧一进一出免费视频 | 国产精品18| 婷婷爱五月 | 久久久久久久久久久久久久免费看 | 欧美一级一区二区 | 日日夜夜操视频 | 自拍天堂 | 驯服少爷漫画免费观看下拉式漫画 | 国产成人精品无码免费看81 | 懂色tv | 欧美视频二区 | 国产一页 | 热久久久久久 | 中国黄色录像一级片 | 欧美乱轮 | 日韩黄色免费电影 | 99视频一区 | 免费黄色av网站 | 亚洲免费观看高清完整版在线 | 粗喘呻吟撞击猛烈疯狂 | 日本电影大尺度免费观看 | 日韩精品免费一区二区三区 | 国产精品影音先锋 | 天天精品| 殴美性生活 | 理论毛片| 美女网站黄频 | 西西午夜| a天堂v | 成人午夜精品视频 | 国产中文字幕精品 | 日产电影一区二区三区 | 夜夜欢天天干 | 成人午夜精品一区二区三区 | 国产小视频免费在线观看 | av网站免费在线播放 | 日本在线小视频 | 国产欧美久久久久久 | 中文字幕 国产精品 | 国内精品久久久久久久久久久 | 亚洲熟妇无码av | 亚洲一区欧美 | 日韩色综合 | 黑人玩弄人妻一区二区三区 | 一区二区视频在线播放 | 视频一区二区不卡 | 丰满雪白极品少妇流白浆 | 欧美性生活在线视频 | 中文字幕dvd | 中文字幕丰满乱子伦无码专区 | 精品成人av一区二区在线播放 | 久久久中文网 | 黄页网站免费在线观看 | 国产精品亚洲一区二区无码 | 黄色网页大全 | 久久最新免费视频 | 免费看久久 | 久久久久999 | 欧美变态网站 | 美女被到爽高潮视频 | 国产日韩精品一区二区三区在线 | 黄色网址大全免费 | 久久精品免费在线观看 | 亚洲一道本 | 性色av蜜臀av浪潮av老女人 | 午夜在线播放视频 | 人乳videos巨大吃奶 | 99自拍| 青青草原国产在线 | 男插女视频网站 | 国产视频久久 | 91丨porny丨国产入口 | 国产99久一区二区三区a片 | 毛片网站免费观看 | 九热这里只有精品 | 亚洲国产精品无码专区 | 91视频在线观看 | 日韩av在线播放不卡 |