मैं कर रहा हूँ एक परियोजना पर काम कर पैदा करता है जो एक क्रोम एक्सटेंशन है. में एक पृष्ठभूमि पृष्ठ मैं एक समारोह का नाम checkingProcess
. इस समारोह में मार डाला है जब एक नया टैब खोला है या एक टैब अद्यतन किया जाता है. (मैं करने की कोशिश की पकड़ को बदलने के लिए URL यहाँ.)
chrome.tabs.onActivated.addListener((activeInfo) => {
checkingProcess(activeInfo.tabId)
})
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
checkingProcess(tab.id)
})
फिर, checkingProcess
समारोह में, मैं कुछ कार्यों के लिए डेटा को संभालने और एपीआई कहता है । तो मैं करने की कोशिश की है कि एक संदेश प्राप्त से आता है पॉपअप । इस संदेश का प्रतिनिधित्व करता है कि पॉपअप था उपयोगकर्ता द्वारा खोला.
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.msg === 'popup_opened') {
sendResponse({
matches_length: response['matches'].length,
hostname: host,
})
}
chrome.runtime.lastError
})
उसके बाद, यह एक प्रतिक्रिया भेजता है करने के लिए पॉपअप. पॉपअप में, मैं सुनने के लिए संदेश का उपयोग करें और प्रतिक्रिया में पॉपअप.
useEffect(() => {
chrome.runtime.sendMessage({ msg: 'popup_opened' }, (res) => {
setHostname(res['hostname'])
setMatchesLength(res['matches_length'])
console.log(res['hostname'], 'burası')
console.log(res['matches_length'], 'burası')
})
}, [])
हालांकि, मुझे पता है कि इस संदेश प्रक्रिया केवल एक बार निष्पादित, लेकिन मैं की जरूरत है इसे चलाने के लिए कई बार करने के लिए डेटा का उपयोग पृष्ठभूमि में एक साथ. मैं कैसे कर सकते हैं कि?