例如,如果有人在google.com上,我需要彈出一個不同的頁面,如果有人在xyz.com上,我需要彈出一個不同的頁面。那可能嗎?我需要爲Chrome擴展中的不同網址彈出不同的html頁面
0
A
回答
0
在您的背景頁面中,您可以更改要在彈出窗口中顯示的頁面。 使用選項卡事件來獲取選定選項卡和當前選項卡網址。
用途:
// Update popup url method
var updatePopupURLForSelectedTab = function (selectedTab) {
var popUpURL = DEFAULT_URL_OF_YOUR_HTML_FILE;
var selectedTabURL = selectedTab.url;
if (selectedTabURL.match(/.*\.?google\.com.*/) != null) {
popUpURL = GOOGLE_URL_OF_YOUR_HTML_FILE;
}
else if (selectedTabURL.match(/.*\.?xyz\.com.*/) != null) {
popUpURL = XYZ_URL_OF_YOUR_HTML_FILE;
}
// Set Popup URL
chrome.browserAction.setPopup({
popup :popUpURL
});
};
// Get current selected Tab
chrome.tabs.getSelected(null, function (tab) {
updatePopupURLForSelectedTab(tab);
});
// Listen for selected tab
chrome.tabs.onActiveChanged.addListener(function(tabId, selectInfo) {
// Get selected tab
chrome.tabs.get(tabId, function (tab) {
updatePopupURLForSelectedTab(tab);
});
});
// Listen navigation update
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
updatePopupURLForSelectedTab(tab);
});
// Listen for window change
chrome.windows.onFocusChanged.addListener(function (windowId) {
chrome.tabs.getSelected(windowId, function (tab) {
updatePopupURLForSelectedTab(tab);
});
});
1
至於建議的wOxxOm,它可能是一個更好的解決方案有幾個部分的單一彈出網頁,並隱藏/顯示他們適當的。
開始與所有隱藏,並在運行時做出決定:
document.addEventListener("DOMContentLoaded", function() {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
// Note: this requires "activeTab" permission to access the URL
if(/* condition on tabs[0].url */) {
/* Adapt UI for condition 1 */
} else if (/* ... */) {
/* Adapt UI for condition 2 */
}
});
});
請注意,建議使用Page Actions,而不是瀏覽器操作的東西,只有在某些頁面上有意義的。
相關問題
- 1. Chrome擴展更改網址在相同的彈出
- 2. 在Chrome擴展中彈出顯示不同的屏幕
- 3. 如何在Chrome擴展中保存不同頁面的不同設置?
- 4. Chrome擴展彈出頁面鏈接不起作用
- 5. Chrome擴展程序:從背景頁面在DOM彈出頁面中注入HTML
- 6. 我是否需要不同的html頁面進行打印?
- 7. Chrome擴展程序:將動態網址添加到彈出頁面
- 8. Chrome擴展彈出
- 9. 我是否需要爲不同的用戶創建不同的登錄頁面
- 10. 不同網址上的相同網頁
- 11. Chrome擴展 - 不改變網址
- 12. 我想要在Chrome擴展中獲取特定網址的Cookie
- 13. Chrome擴展程序彈出不顯示?
- 14. 我可以從擴展中讀取chrome://同步頁面嗎?
- 15. 不要在Chrome擴展中重新加載彈出窗口
- 16. Chrome擴展WebSQL - 需要背景和內容頁面來訪問相同的數據庫,但他們不要
- 17. Chrome擴展中的背景頁面和彈出頁面之間的通信
- 18. 以不同的分辨率在桌面上擴展網頁
- 19. 如何將不同的網址指向同一Tomcat App中的不同頁面
- 20. Chrome擴展爲Facebook,需要重新加載頁面
- 21. 更新網址而不刷新頁面中的鉻擴展
- 22. 將Chrome擴展中的數據發送到不同域方法的網頁上?
- 23. 爲網站中的不同頁面設置不同的htpasswd
- 24. Chrome擴展程序 - 修改郵件事件的彈出頁面
- 25. Chrome擴展加載內容頁面中的HTML頁面
- 26. 不同的擴展
- 27. 彈出式擴展中的背景頁面 - 鉻擴展
- 28. 我需要將我的MVC2主頁更改爲不同的頁面
- 29. 我需要以不同的方式格式化網址嗎?
- 30. 如何從Chrome擴展的bg頁面訪問彈出頁面的DOM?
將所有內容放在一個popup.html中,並根據url簡單切換容器的可見性。 – wOxxOm