Если вы используете FireFox, navigator
имеет свойство oscpu
.Удалить oscpu property from from window.navigator
Свойство можно легко изменить, добавив general.oscpu.override
значение в about:config
.
Но этот параметр присутствует только в FireFox и не существует ни в каком другом браузере. Это позволяет 100% уверенность в определении типа браузера.
Обычные средства не могут его удалить. Что бы ни случилось, что (oscpu in navigator
) вернется false
.
Все это не работает:
delete navigator.oscpu;
'oscpu' in navigator; // true
navigator.oscpu = null;
'serviceWorker' in navigator; // true
navigator.oscpu === null; // false
Object.defineProperty(navigator, "oscpu", {
configurable: true,
value: undefined
});
'oscpu' in navigator; // true
navigator.oscpu === undefined; // true
Существуют ли способы, чтобы удалить этот объект из навигатора? И вообще любой другой параметр. Я пишу расширение SDK надстройки Firefox.
Какую цель вы ставите перед собой? Вы пытаетесь различать браузеры? Вы пытаетесь создать надстройку SDK надстройки Firefox, которая делает Firefox похожим на Google Chrome на определенный код JavaScript? в общем, JavaScript? Существует несколько способов разграничения между браузерами. Содержимое «navigator.oscpu» или даже полный объект «навигатор» не является единственным. – Makyen
«Вы пытаетесь создать надстройку SDK надстройки Firefox, которая делает Firefox похожим на Google Chrome» - да. В точку. Изменение пользовательского агента в FireFox на Chrom мы раскрываем это изменение параметра oscpu. Что еще вам нужно учитывать? –