中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

JavaScript開發Chrome瀏覽器擴展程序UI的教程
來源:易賢網 閱讀:1329 次 日期:2016-06-27 16:25:14
溫馨提示:易賢網小編為您整理了“JavaScript開發Chrome瀏覽器擴展程序UI的教程”,方便廣大網友查閱!

Chrome擴展開發API中提供了一些關于UI外觀的操作,如果是剛剛上手的話首先需要了解Browser Actions、Omnibox、選項頁等,在這篇JavaScript開發Chrome瀏覽器擴展程序UI的教程中,我們先來回顧一下基本知識:

基本知識

1、插件文件結構

1.1、manifest.json

每一個擴展、可安裝的WebApp、皮膚,都有一個JSON格式的manifest文件,里面存放重要的插件相關信息。

一個最基本的配置例子:

{

  "name": "browser action demo",

  "version": "1.0",

  "permissions": [

    "tabs", "http://*/*", "https://*/*"

  ],

  "browser_action": {

    "default_title": "開關燈",

    "default_icon": "icon.png",

    "default_popup": "popup.html"

  },

  "background": {

    "page": "background.html"

   },

  "manifest_version": 2

}

1.2、popup

插件的彈窗,上面配置中的browser_action中default_popup就是這個頁面。

1.3、background page

絕大多數應用都包含一個背景頁面(background page),用來執行應用的主要功能。

1.4、Content scripts

通過content script可以使應用和web頁面交互,content script是指能夠在瀏覽器已經加載的頁面內部運行的Javascript腳本??梢詫ontent script看做是網頁的一部分,而不是它所在的應用的一部分。

2、文件之間的交互

popup彈窗中可以直接調用背景頁面中的函數。

Content script可以讀取并修改當前web頁面的dom樹,但是它并不能修改它所在應用的背景頁面(background)的dom樹。

Content script與應用之間的交互:可以互相發送消息

3、為web頁面注入JS(Content scripts)文件:

方法一,在manifest.json文件中配置:

"content_scripts": [

  {

   "matches": ["http://www.google.com/*"],

   "css": ["mystyles.css"],

   "js": ["jquery.js", "myscript.js"]

  }

 ],

方法二,通過executeScript():

向頁面注入JavaScript 腳本執行。

chrome.tabs.executeScript(integer tabId, object details, function callback)

chrome.tabs.executeScript(tabId, {file: "func.js", allFrames: true});

UI外觀

1、browser action:

在chrome主工具條的地址欄右側增加一個圖標。

注意:Packaged apps不能使用browser actions

1.1、manifest.json 中配置

注冊browser action:

{

 "name": "My extension",

 ...

 "browser_action": {

  "default_icon": "images/icon19.png", // optional 

  "default_title": "Google Mail",   // optional; shown in tooltip 

  "default_popup": "popup.html"    // optional 

 },

 ...

}

1.2、配置項說明

(1)default_icon

圖標 19 *19px

修改browser_action的manifest中 default_icon字段,或者調用setIcon()方法。

chrome.browserAction.setIcon(object details)

設置browser action的圖標。圖標可以是一個圖片的路徑或者是從一個canvas元素提取的像素信息.。無論是圖標路徑還是canvas的imageData,這個屬性必須被指定。

(2)default_title

修改browser_action的manifest中default_title字段,或者調用setTitle()方法。你可以為default_title字段指定本地化的字符串;點擊Internationalization查看詳情。

chrome.browserAction.setTitle(object details)

設置browser action的標題,這個將顯示在tooltip中。

(3)Badge

Browser actions可以選擇性的顯示一個badge— 在圖標上顯示一些文本。Badges 可以很簡單的為browser action更新一些小的擴展狀態提示信息。

因為badge空間有限,所以只支持4個以下的字符。

設置badge文字和顏色可以分別使用setBadgeText()andsetBadgeBackgroundColor()。

chrome.browserAction.setBadgeText(object details)

設置browser action的badge文字,badge 顯示在圖標上面。

setBadgeBackgroundColor

chrome.browserAction.setBadgeBackgroundColor(object details)

設置badge的背景顏色。

(4)default_popup

Popup 氣泡提示

修改browser_action的manifest中default_popup字段來指定HTML文件, 或者調用setPopup()方法。

chrome.browserAction.setPopup(object details)

設置一個點擊browser actions時顯示在popup中的HTML。

1.3、提示

為了獲得最佳的顯示效果, 請遵循以下原則:

確認 Browser actions 只使用在大多數網站都有功能需求的場景下。

確認 Browser actions 沒有使用在少數網頁才有功能的場景, 此場景請使用page actions。

確認你的圖標尺寸盡量占滿19x19的像素空間。 Browser action 的圖標應該看起來比page action的圖標更大更重。

不要嘗試模仿Google Chrome的扳手圖標,在不同的themes下它們的表現可能出現問題,,并且擴展應該醒目些。

盡量使用alpha通道并且柔滑你的圖標邊緣,因為很多用戶使用themes,你的圖標應該在在各種背景下都表現不錯。

不要不停的閃動你的圖標,這很惹人反感。

2、右鍵菜單

您可以選擇針對不同類型的對象(如圖片,鏈接,頁面)增加右鍵菜單項。

您可以根據需要添加多個右鍵菜單項。一個擴展里添加的多個右鍵菜單項會被Chrome自動組合放到對應擴展名稱的二級菜單里。

右鍵菜單可以出現在任意文檔(或文檔中的框架)中,甚至是本地文件(如file://或者Chrome://)中。若想控制右鍵菜單在不同文檔中的顯示,可以在調用create()和update()時指定documentUrlPatterns。

2.1、manifest.json 中配置

在清單中聲明“contentMenus”權限。同時,您應該指定一個16x16的圖標用作右鍵菜單的標識。例如:

{

    "name": "My extension",

    ...

    "permissions": [

     "contextMenus"

    ],

    "icons": {

     "16": "icon-bitty.png",

     "48": "icon-small.png",

     "128": "icon-large.png"

    },

    ...

}

3、桌面通知

通知用戶發生了一些重要的事情。桌面通知會顯示在瀏覽器窗口之外。 下面的圖片是通知顯示時的效果,在不同的平臺下,通知的顯示效果會有些細微區別。

直-接使用一小段 JavaScript 代碼創建通知,當然也可以通過擴展包內的一個單獨HTML頁面。

3.1、manifest.json 中配置

{

 "name": "My extension",

 ...

 "permissions": [

  "notifications"

 ],

 ...

}

3.2、與擴展頁交互:

使用 getBackgroundPage() 和 getViews()在通知與擴展頁面中建立交互

// 在通知中調用擴展頁面方法...

chrome.extension.getBackgroundPage().doThing();

// 從擴展頁面調用通知的方法...

chrome.extension.getViews({type:"notification"}).forEach(function(win) {

 win.doOtherThing();

});

4、Omnibox

omnibox 應用程序界面允許向Google Chrome的地址欄注冊一個關鍵字,地址欄也叫omnibox

必須在 manifest 中包含omnibox 關鍵字段。需要指定像素為16x16的圖標,以便當用戶輸入關鍵字時,在地址欄中顯示。

4.1、manifest.json 中配置

{

 "name": "Aaron's omnibox extension",

 "version": "1.0",

 "omnibox": { "keyword" : "aaron" }, 

 "icons": { 

  "16": "16-full-color.png"

 }, 

 "background_page": "background.html"

}

Chrome 自動創建灰度模式16x16像素的圖標。你應該提供全色版本圖標以便可以在其他場景下使用。

5、選項頁

為了讓用戶設定你的擴展功能,你可能需要提供一個選項頁。如果你提供了選項頁,在擴展管理頁面 chrome://extensions上會提供一個鏈接。點擊選項鏈接就可以打開你的選項頁。

5.1、manifest.json 中配置

{

 "name": "My extension",

 ...

 "options_page": "options.html",

 ...

}

6、覆寫特定頁

使用替代頁,可以將Chrome默認的一些特定頁面替換掉,改為使用擴展提供的頁面。

6.1、manifest.json 中配置

{

 "name": "My extension",

 ...

 "chrome_url_overrides" : {

  "pageToOverride": "myPage.html"

 },

 ...

}

7、Page Actions

使用page actions把圖標放置到地址欄里。

想讓擴展圖標總是可見,則使用browser action。

打包的應用程序不能使用page actions。

7.1、manifest.json 中配置

{

 "name": "My extension",

 ...

 "page_action": {

  "default_icon": "icons/foo.png", // optional 

  "default_title": "Do action",  // optional; shown in tooltip 

  "default_popup": "popup.html"  // optional 

 },

 ...

}

7.2、配置項說明

同browser actions一樣,page actions 可以有圖標、提示信息、 彈出窗口。但沒有badge

使用方法 show() 和 hide() 可以顯示和隱藏page action。缺省情況下page action是隱藏的。當要顯示時,需要指定圖標所在的標簽頁,圖標顯示后會一直可見,直到該標簽頁關閉或開始顯示不同的URL (如:用戶點擊了一個連接)

7.3、提示

要只對少數頁面使用page action;

不要對大多數頁面使用它,如果功能需要,使用 browser actions代替。

沒事別總讓圖標出現動畫,那會讓人很煩。

8、主題

主題是一種特殊的擴展,可以用來改變整個瀏覽器的外觀。主題和標準擴展的打包方式類似,但是主題中不能包含JavaScript或者HTML代碼。

8.1、manifest.json 中配置

{

 "version": "2.6",

 "name": "camo theme",

 "theme": {

  "images" : {

   "theme_frame" : "images/theme_frame_camo.png",

   "theme_frame_overlay" : "images/theme_frame_stripe.png",

   "theme_toolbar" : "images/theme_toolbar_camo.png",

   "theme_ntp_background" : "images/theme_ntp_background_norepeat.png",

   "theme_ntp_attribution" : "images/attribution.png"

  },

  "colors" : {

   "frame" : [71, 105, 91],

   "toolbar" : [207, 221, 192],

   "ntp_text" : [20, 40, 0],

   "ntp_link" : [36, 70, 0],

   "ntp_section" : [207, 221, 192],

   "button_background" : [255, 255, 255]

  },

  "tints" : {

   "buttons" : [0.33, 0.5, 0.47]

  },

  "properties" : {

   "ntp_background_alignment" : "bottom"

  }

 }

}

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产精品久久精品怡红院| 狠狠狠色丁香婷婷综合激情| 一本高清dvd不卡在线观看| 国产乱码精品一区二区三区五月婷 | 黑人巨大精品欧美一区二区| 国产精品推荐精品| 国产精品美女久久久久久久| 国产精品高清一区二区三区| 国产精品成人免费精品自在线观看| 欧美日韩成人综合在线一区二区| 欧美高清在线播放| 欧美日韩成人综合天天影院| 欧美日韩国产一区二区| 欧美吻胸吃奶大尺度电影| 国产精品v欧美精品∨日韩| 欧美三级电影一区| 国产精品人人做人人爽 | 欧美成人午夜影院| 欧美第一黄网免费网站| 欧美成人激情视频免费观看| 欧美另类久久久品| 欧美日韩日韩| 国产精品视频福利| 黄色精品一二区| 亚洲国产精品一区二区第四页av| 亚洲人成在线影院| 亚洲午夜极品| 欧美伊人久久久久久午夜久久久久 | 免播放器亚洲一区| 欧美激情一区在线| 国产精品久久久久永久免费观看| 国产欧美精品一区aⅴ影院| 国产一区二区三区久久久久久久久| 一区二区三区在线视频播放| 亚洲精品免费在线观看| 亚洲欧美日韩国产一区二区三区| 欧美一区在线看| 欧美国产日韩一区二区三区| 国产精品日韩在线一区| 欲色影视综合吧| 在线亚洲欧美专区二区| 久久久噜噜噜久久中文字幕色伊伊| 欧美国产日本韩| 国产精品综合| 亚洲日本欧美在线| 欧美一区亚洲一区| 欧美乱妇高清无乱码| 国产视频丨精品|在线观看| 亚洲日韩视频| 小处雏高清一区二区三区| 你懂的国产精品| 国产日韩av一区二区| 在线看片第一页欧美| 亚洲视屏一区| 欧美大片在线观看一区| 国产精品v片在线观看不卡| 欧美承认网站| 国产亚洲毛片| 亚洲色图制服丝袜| 久久久亚洲国产天美传媒修理工| 欧美视频一区二区三区| 伊人久久综合97精品| 亚洲一区二区四区| 欧美裸体一区二区三区| 狠狠色伊人亚洲综合成人| 中文在线资源观看视频网站免费不卡| 久久国内精品自在自线400部| 欧美特黄一区| 精东粉嫩av免费一区二区三区| 亚洲性感美女99在线| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美日本精品| 亚洲电影免费在线| 久久精品亚洲一区二区三区浴池| 国产精品高潮呻吟视频| 亚洲国产婷婷综合在线精品 | 亚洲欧美卡通另类91av| 欧美精品久久久久久久免费观看| 国内精品写真在线观看| 久久av资源网站| 国产精品一级| 香蕉久久精品日日躁夜夜躁| 欧美性猛交视频| 一区二区三区 在线观看视频| 欧美激情精品久久久六区热门| 在线精品视频一区二区三四| 久久天天狠狠| 影音先锋亚洲视频| 浪潮色综合久久天堂| 激情自拍一区| 久久色在线播放| 国产原创一区二区| 亚洲欧美日韩国产精品 | 国产在线拍揄自揄视频不卡99| 亚洲欧美美女| 国产精品一区二区女厕厕| 亚洲一区在线看| 欧美色图五月天| 亚洲午夜伦理| 国产精品欧美风情| 欧美影院成年免费版| 国一区二区在线观看| 久久精品一区二区三区不卡| 红桃视频国产精品| 欧美91福利在线观看| 亚洲青涩在线| 国产精品vvv| 亚洲一区日本| 国产日韩精品视频一区| 久久久精品午夜少妇| 永久免费毛片在线播放不卡| 欧美成人一区二区三区在线观看 | 国产日韩精品在线观看| 久久国产综合精品| 中日韩美女免费视频网站在线观看| 欧美成人午夜| 日韩视频―中文字幕| 国产精品v日韩精品v欧美精品网站 | 亚洲精品欧美日韩| 欧美日韩一本到| 亚洲欧美在线播放| 影音先锋一区| 欧美日韩一区二区国产| 欧美亚洲综合在线| 亚洲国产高清aⅴ视频| 欧美日韩免费在线视频| 午夜精品久久99蜜桃的功能介绍| 国产一区二区无遮挡| 欧美福利在线| 久久av一区二区| 亚洲精品国产日韩| 国产模特精品视频久久久久| 美女视频黄 久久| 一区二区三区三区在线| 国产亚洲毛片| 欧美日韩精品国产| 久久夜色精品国产欧美乱| 宅男噜噜噜66一区二区66| 国产一区二区| 欧美日韩精品一区二区三区四区 | 免费看亚洲片| 亚洲无亚洲人成网站77777| 国产在线国偷精品产拍免费yy| 亚洲国产日韩一级| 国产精品一区二区久久久| 欧美成人在线网站| 欧美自拍偷拍午夜视频| 在线一区视频| 在线欧美三区| 国产日韩成人精品| 国产精品黄色| 欧美精品日韩| 蜜臀av性久久久久蜜臀aⅴ四虎| 午夜精品亚洲| 宅男噜噜噜66一区二区| 亚洲日本aⅴ片在线观看香蕉| 国产一区二区三区精品欧美日韩一区二区三区| 欧美国产一区二区| 狂野欧美一区| 久久久久免费观看| 欧美一区二区精品久久911| 在线中文字幕一区| 一本久道久久综合中文字幕| 最新日韩在线| 在线日韩中文| 一区二区视频免费完整版观看| 国产女同一区二区| 国产精品日韩欧美大师| 欧美午夜片在线免费观看| 欧美日韩精品一区二区天天拍小说| 美女露胸一区二区三区| 久久精品一二三| 久久精品在线观看| 久久国产精品黑丝| 欧美在线观看天堂一区二区三区| 亚洲欧美区自拍先锋| 亚洲视频欧洲视频| 亚洲社区在线观看| 亚洲视频一区二区| 欧美久久电影| 欧美成人在线免费观看| 欧美日韩a区| 欧美日本二区| 久久se精品一区二区| 国产情侣久久| 亚洲一区二区三区777| 一区二区三区在线免费视频| 激情视频一区| 在线观看国产精品网站| 在线观看日韩专区| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产日韩欧美| 亚洲激情国产| 亚洲天堂男人| 校园春色国产精品| 久久久久www| 免费国产一区二区| 欧美日韩伦理在线| 国产午夜精品理论片a级大结局 | 国产精品国产精品|