Доброго времени суток. Помогите кто-нибудь. Есть расширение для хрома WebRTC Network Limiter и оно рабочее. Вот часть кода:
'use strict';
var pn = chrome.privacy.network;
var pi = null;
function browserSupportsIPHandlingPolicy() {
return pn.webRTCIPHandlingPolicy !== undefined;
}
function browserSupportsNonProxiedUdpBoolean() {
return pn.webRTCNonProxiedUdpEnabled !== undefined;
}
// Handle the case when this is installed in pre-M48.
if (!browserSupportsIPHandlingPolicy()) {
chrome.privacy.IPHandlingPolicy = {};
chrome.privacy.IPHandlingPolicy.DEFAULT = 0;
chrome.privacy.IPHandlingPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES = 1;
chrome.privacy.IPHandlingPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY = 2;
chrome.privacy.IPHandlingPolicy.DISABLE_NON_PROXIED_UDP = 3;
}
pi = chrome.privacy.IPHandlingPolicy;
// Helper function to convert the parameters to policy synchronously.
function convertToPolicy(allowMultiRoute, allowUdp) {
if (!allowUdp) {
return pi.DISABLE_NON_PROXIED_UDP;
}
if (!allowMultiRoute) {
return pi.DEFAULT_PUBLIC_INTERFACE_ONLY;
}
return pi.DEFAULT;
}
// This function just returns the new policy value based on the 2 booleans
// without changing any preferences.
function getPolicyFromBooleans(callback) {
pn.webRTCMultipleRoutesEnabled.get({}, function(allowMultiRoute) {
if (!browserSupportsNonProxiedUdpBoolean()) {
callback(convertToPolicy(allowMultiRoute.value, true));
} else {
pn.webRTCNonProxiedUdpEnabled.get({}, function(allowUdp) {
callback(convertToPolicy(allowMultiRoute.value,
allowUdp.value));
});
}
});
}
Проблема возникает здесь:
var pn = chrome.privacy.network;
Я пытаюсь запустить скрипт на хромиуме, вообще там скрипты работают, а этот не хочет, суть проблемы в том, что возникает ошибка, связанная с тем, что chrome.privacy==undefined и 'network' у undefined быть не может. Пробовал запустить в консоли - то же самое. Чувствую, что есть разница между запуском простого скрипта и расширения. Кто подскажет, в чём разница и что это за объект chrome, почему в скрипте и консоли он не имеет поле private, а в расширении имеет. Мне не лень читать. Я прочитал на хабре статью про создание расширения, там не упоминалось об отличиях между простыми скриптами и расширениями, также я пытался гуглить "javascript объект chrome", но сами понимаете что chrome и в гугле и в яндексе толкуется не так как я бы хотел. Заранее благодарен за ответы. И спасибо за сайт, раза 3 перечитывал и пользуюсь как справочником, может чего-то не прочитал