ಎಕ್ಸ್ಟೆನ್ಷನ್ನ ಸ್ಟಾರ್ಟ್ಅಪ್ ಈವೆಂಟ್ಗಳಲ್ಲಿ Chrome ಪ್ರಾಕ್ಸಿ ಅನ್ವಯಿಸಿ
ಇನಿಶಿಯಲೈಸೇಶನ್ ಅನ್ನು ಹೊಸ ಬ್ರೌಸರ್ ವಿಂಡೋಗೆ ಬಿಗಿಯುವ ಬದಲು Manifest V3 ಪ್ರಾಕ್ಸಿ ಎಕ್ಸ್ಟೆನ್ಷನ್ಗಾಗಿ ರನ್ಟೈಮ್ ಸ್ಟಾರ್ಟ್ಅಪ್ ಮತ್ತು ಇನ್ಸ್ಟಾಲೇಶನ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ನೋಂದಾಯಿಸಿ.
ಆ ಈವೆಂಟ್ಗಳು ಆಯ್ಕೆಮಾಡಿದ ಪ್ರಾಕ್ಸಿಯನ್ನು ಅನ್ವಯಿಸಬೇಕಾದಾಗ, Manifest V3 ಸೇವಾ ವರ್ಕರ್ನ ಮೇಲ್ಮಟ್ಟದಲ್ಲಿ onStartup ಮತ್ತು onInstalled ಅನ್ನು ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ನೋಂದಾಯಿಸಿ. ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಒಂದೇ ಮಾರ್ಗಕ್ಕೆ ಜೋಡಿಸಲಾದ ಎಕ್ಸ್ಟೆನ್ಷನ್ಗಾಗಿ:
function applyProxy() {
chrome.proxy.settings.set({
value: {
mode: 'fixed_servers',
rules: {
singleProxy: {
scheme: 'http',
host: 'proxy.example',
port: 8080,
},
},
},
scope: 'regular',
}, () => {
if (chrome.runtime.lastError) {
console.error(chrome.runtime.lastError.message);
}
});
}
chrome.runtime.onStartup.addListener(applyProxy);
chrome.runtime.onInstalled.addListener(applyProxy);manifest ಪ್ರಾಕ್ಸಿ ಅನುಮತಿಯನ್ನು ಘೋಷಿಸಿ ಈ ಹಿನ್ನೆಲೆ ವರ್ಕರ್ ಅನ್ನು ಹೆಸರಿಸಬೇಕು. ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವಿಲ್ಲದ ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ ಬ್ರೌಸಿಂಗ್ ಮಾರ್ಗಕ್ಕಾಗಿ, ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ ಅಭ್ಯರ್ಥಿಯೊಂದಿಗೆ ಬದಲಾಯಿಸಿ, ಪೋರ್ಟ್ ಪೂರ್ಣಾಂಕವಾಗಿ ಬಿಡಿ.
onStartup ಎಂದರೆ ಎಕ್ಸ್ಟೆನ್ಷನ್ ಇನ್ಸ್ಟಾಲ್ ಆಗಿರುವ ಸ್ಥಿತಿಯಲ್ಲಿ ಪ್ರೊಫೈಲ್ ಸ್ಟಾರ್ಟ್ಅಪ್. onInstalled ನವೀಕರಣಗಳನ್ನೂ ಒಳಗೊಳ್ಳುತ್ತದೆ, ಅನ್ಪ್ಯಾಕ್ ಮಾಡದ ಎಕ್ಸ್ಟೆನ್ಷನ್ ಮರುಲೋಡ್ ಕೂಡ ನವೀಕರಣವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ. ವಿಂಡೋ ರಚನೆ ಈವೆಂಟ್ ಪ್ರತಿ ವಿಂಡೋವನ್ನು ವಿವರಿಸುತ್ತದೆ ಮತ್ತು ಒಂದೇ ಅಧಿವೇಶನದಲ್ಲಿ ಪದೇ ಪದೇ ಸಂಭವಿಸಬಹುದು.
ಎಕ್ಸ್ಟೆನ್ಷನ್ನಲ್ಲಿ ಉಳಿಸಿದ ಪ್ರೊಫೈಲ್ಗಳು ಅಥವಾ ಆಫ್ ಸ್ವಿಚ್ ಇದ್ದರೆ, ಪ್ರತಿ ನವೀಕರಣದಲ್ಲೂ ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡಿದ ಡೀಫಾಲ್ಟ್ ಮರುಹೊಂದಿಸುವ ಬದಲು ಆ ಆಯ್ಕೆಯನ್ನು ಲೋಡ್ ಮಾಡಿ ಅನ್ವಯಿಸಲು ಹ್ಯಾಂಡ್ಲರ್ಗೆ ಬಿಡಿ. ಶ್ರೋತೃ ನೋಂದಣಿ ಮೇಲ್ಮಟ್ಟದಲ್ಲೇ ಉಳಿಯುತ್ತದೆ; Chrome ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಕರೆದಾಗ ಅಸಿಂಕ್ರೋನಸ್ ಕೆಲಸ ಆರಂಭವಾಗಬಹುದು.
ಅಭಿವೃದ್ಧಿಯ ಸಮಯದಲ್ಲಿ ಇನ್ಸ್ಟಾಲೇಶನ್ ಮತ್ತು ಪ್ರೊಫೈಲ್ ಸ್ಟಾರ್ಟ್ಅಪ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸಿ, ಪ್ರತಿಯೊಂದಕ್ಕೂ ಕಾನ್ಫಿಗರೇಶನ್ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಿ. ಇವು ಎರಡು ಇನಿಶಿಯಲೈಸೇಶನ್ ಮಾರ್ಗಗಳು, ಇನ್ನೊಂದು ವಿಂಡೋ ತೆರೆಯುವುದರಿಂದ ಸಿಗುವ ಸಾಕ್ಷ್ಯವಲ್ಲ.