CRX逻恐,就是Chrome的Extension,也就是下圖所畫的這個(gè):
前面發(fā)生了什么堕汞?我打的字呢中贝?!
我打的字怎么都消失了臼朗?邻寿?!视哑!
我擦P宸瘛!5惨恪K獯椤!跪呈!
好吧段磨,悲傷地吐槽到此結(jié)束,下面開始簡單說說CRX耗绿。
可以看到苹支,最核心的就是Background了。
它是Extension所以可有效工作的界面的公用后臺(tái)——所以Extension可以生效的界面都可以訪問到它误阻,它是唯一的债蜜。
也因此晴埂,它可以作為溝通的橋梁。
PopupPage是瀏覽器右上角的一個(gè)常駐Icon寻定,點(diǎn)了以后就會(huì)彈出頁面儒洛,作為菜單。
這個(gè)Icon可以干很多事情狼速,比如你用一個(gè)Canvas作為Icon琅锻,然后就可以各種動(dòng)畫了。向胡。恼蓬。
PopupPage每次被點(diǎn)開后都是重新加載的,這個(gè)要注意——所以它本身不保存狀態(tài)捷枯,要通過LocalStorage或者Background來記錄狀態(tài)。
Background和PopupPage都是Extension固有域的专执,也就是chrome-extension://xxxxxxxxxxx這個(gè)域下面的淮捆,所以Storage或者Cache或者WebSQL或者WebDatabase或者LocalFile都是共有的。
ContentScript是插入到每個(gè)頁面內(nèi)的腳本本股,它可以像普通Script一樣方位頁面的所有DOM元素以及掛在在window上的對(duì)象攀痊,但本身是屬于Content的,所以一般不會(huì)被普通Script訪問到——當(dāng)然跨界的方位自然是有辦法的拄显。
ContentScript的域是所在頁面的域苟径,所以和Background的通訊是跨域通訊,采用的是HTML5的Message和Connect機(jī)制躬审。
ContentScript也可以被設(shè)置為在頁面的所有iframe和frame上都inject棘街,這個(gè)比較流氓,但有些時(shí)候就是要這么流氓承边。
ContentScript是介于頁面本身和瀏覽器之間的中間層遭殉,所有交互都可以通過它來實(shí)現(xiàn)從后臺(tái)到頁面的操作。
在WebApp中博助,整個(gè)頁面都具有了ContentScript的能力险污,從而比普通網(wǎng)頁有了更多的東西可以操作,所以比較High富岳。
Extension真正有威力的蛔糯,就是它可以調(diào)用Chrome提供的各種牛掰API。
多牛掰窖式?你可以用API來截屏蚁飒,來彈窗,讀寫本地文件萝喘,截獲網(wǎng)絡(luò)通訊飒箭,調(diào)用本地C庫狼电,等等等等。
所以弦蹂,上述所有東西都是為了通訊和調(diào)用API庫準(zhǔn)備的肩碟,而真正有力量的,就是那些API庫凸椿。
嗯削祈,以上就是所謂的“超簡入門介紹”,是不是真的是超簡脑漫?反正基本是水貨髓抑,什么內(nèi)容都沒有……