# Override替代頁
使用替代頁,可以將Chrome默認的一些特定頁面替換掉,改為使用擴展提供的頁面。這讓擴展開發者可以開發更多有趣或者實用的基本功能頁面。替代頁通常會有大量的CSS和JavaScript代碼。
擴展可以替代如下頁面:
* **書簽管理器:**從工具菜單上點擊書簽管理器時訪問的頁面,或者從地址欄直接輸入 **chrome://bookmarks**。
* **歷史記錄:**從工具菜單上點擊歷史記錄時訪問的頁面,或者從地址欄直接輸入 **chrome://history**。
* **新標簽頁:**當創建新標簽的時候訪問的頁面,或者從地址欄直接輸入 **chrome://newtab**。
**注意:**一個擴展只能替代一個頁面。
**注意:**如果你替代隱身窗口的頁面,請注意要在manifest中將 [incognito](manifest.html#incognito) 屬性指定為 "spanning"。
**注意:**你不能替代隱身窗口的新標簽頁。
下面的截圖是默認的新標簽頁和被擴展替換掉的新標簽頁。
| **默認的新標簽頁** | **替代的新標簽頁** |
| --- | --- |
|  |  |
## Manifest
下面是在[extension manifest](manifest.html)中注冊替代頁的寫法。
```
{
"name": "My extension",
...
**"chrome_url_overrides" : {
"_pageToOverride_": "_myPage.html_"
}**,
...
}
```
對于示例中的_pageToOverride_,可替換成如下關鍵字
* bookmarks
* history
* newtab
## 提示
要制作一個優秀的替代頁,請一定遵循如下指導原則:
* **你的頁面實現的要即小又快。**
用戶希望內建的瀏覽器頁面可以快速的打開,請避免做一些要消耗很多時間的事。如:盡量避免從網絡中或者數據庫資源中提取數據。
* **頁面要帶標題。**
否則用戶可能會看到網頁的URL,造成困擾。其實就是在頁面頭上加入:<title>NewTab</title>
* **別指望頁面會獲得鍵盤輸入焦點。**
通常新標簽創建的時候,地址欄會獲得輸入焦點,而不是頁面。
* **別試著模仿默認的新標簽頁。**
對于新標簽頁上的重要功能支持,如:最近關閉的標簽、主題背景圖等,APIs的支持尚未完善,在這些APIs確認完備之前,你最好做一些完全不同的新標簽頁設計(以避免使用這些非正式的APIs)。
## 范例
你可以在這里找到范例[examples/api/override](http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/override/),其他范例在這里[Samples](samples.html)
- 基礎文檔
- 綜述
- 調試
- 格式:Manifest文件
- 模式匹配
- 改變瀏覽器外觀
- Browser Actions
- Context Menus
- 桌面通知
- Omnibox
- Override替代頁
- Page Actions
- 主題
- 與瀏覽器交互
- 書簽
- Cookies
- chrome.devtools.* APIs
- Events
- chrome.history
- Management
- 標簽
- 視窗
- 實現擴展
- 無障礙性(a11y)
- 背景頁
- Content Scripts
- 跨域 XMLHttpRequest 請求
- 國際化 (i18n)
- 消息傳遞
- Optional Permissions
- NPAPI 插件
- 完成并發布應用
- 自動升級
- 托管
- 打包
- 規范和協議
- 應用設計規范
- 開發人員協議
- 免責聲明