我有一個彈出式窗口,稱之爲「welcome.html」,我想我們該做的是,當用戶選擇一個文本,然後單擊我的插件,它會使用一些頁面信息,並打印回歡迎。 HTML。例如,網站標題以及用戶選擇的文本和網址。但是,我怎樣才能將價值傳遞給welcome.html?謝謝。如何在Chrome擴展開發中將值傳遞給頁面?
0
A
回答
1
我my extension做了很多的這個,因爲它煤礦大量數據能夠很容易地將其複製到剪貼板的用戶。
既然你正在尋找少了很多數據,它甚至更簡單。當您的彈出窗口被加載時,您可以調用以下函數來檢索您需要的信息;
function getData(callback) {
chrome.tabs.getSelected(null, function (tab) {
var data = {
selection: '',
title: tab.title,
url: tab.url
};
/*
* We can't call content scripts on some pages and the process will get
* stuck if we try.
*/
if (tab.url.indexOf('chrome') === 0 ||
tab.url.indexOf('https://chrome.google.com/webstore') === 0) {
callback(data);
} else {
chrome.tabs.sendRequest(tab.id, {}, function (response) {
data.selection = response.selection;
callback(data);
});
}
});
}
確保您傳入一個回調函數,一旦所有數據被提取,將會調用該函數;
getData(function (data) {
console.log('Title: ' + data.title);
console.log('URL: ' + data.url);
console.log('Selected Text: ' + data.selection);
// Display the data instead
});
正如您可能已經注意到getData
函數發送請求到選定的選項卡。一個content script將需要的頁面將被注入爲了這個工作,所以要確保你已經調用getData
之前正確或injected it programmatically配置您的清單,否則將無法正常工作。需要注入的腳本應該類似於以下內容;
(function() {
chrome.extension.onRequest.addListener(function (request, sender,
sendResponse) {
sendResponse({
selection: window.getSelection().toString()
});
});
})();
這只是返回當前選定的文本。一個值得關注的是,這個數據查找可能導致輕微的停頓,而彈出窗口渲染,但你應該測試這個自己和自己做個實驗,但也有solutions。
這應該涵蓋所有你需要知道的這麼好運氣,讓我知道如果你需要任何進一步的幫助我所知,如果你是新來的Chrome擴展程序,這可能會稍微壓倒。
相關問題
- 1. 使用chrome擴展將頁面的html傳遞給腳本
- 2. 將變量傳遞給chrome.tabs.onUpdated.addListener() - Chrome擴展
- 3. 簡單嗎?將變量從Chrome擴展頁傳遞給PHP頁面?
- 4. 如何將AJAX頁面值傳遞給
- 5. 將值傳遞給頁面
- 6. 將來自Chrome擴展程序的消息傳遞給網頁
- 7. 儘快將變量傳遞給Chrome擴展的網頁
- 8. 如何通過Selenium Script c#將參數傳遞給Chrome擴展?
- 9. 如何在Chrome擴展頁面加載頁面後觸發Javascript?
- 10. Chrome擴展:將DOM信息傳遞到背景頁面/腳本
- 11. Chrome擴展開發:在後臺頁面中打開頁面時的通知
- 12. 開發Chrome擴展
- 13. Chrome擴展 - 如何在頁面加載
- 14. 如何將信息從Content_script傳遞到彈出頁面? (Chrome擴展)
- 15. 如何將值從一個頁面傳遞給其他頁面?
- 16. 在Chrome擴展中傳遞數組
- 17. 將Chrome擴展程序中的變量傳遞給打開的選項卡
- 18. 如何將對象的構造函數傳遞給Chrome擴展中的另一個頁面
- 19. 如何從網頁打開Chrome擴展選項頁面?
- 20. 如何將消息從Chrome傳遞給開發人員?
- 21. Chrome擴展:如何從一個頁面
- 22. Chrome擴展開發:如何測試onTabReplaced?
- 23. 如何將一個Angular對象傳遞給Google Chrome擴展中的Javascript函數?
- 24. 如何將我的應用中的url參數傳遞給Chrome擴展?
- 25. Chrome擴展程序開發:消息傳遞問題
- 26. 如何將參數傳遞給頁面?
- 27. Chrome擴展程序:將變量傳遞給彈出窗口
- 28. Chrome擴展將表單信息傳遞給PHP文件
- 29. 將信息傳遞給網站的Chrome擴展
- 30. 有沒有辦法將參數傳遞給Chrome擴展?