Здравствуйте уважаемые, нужна помощь...перерыл весь интернет, решение нашел, но не до конца оно, а как закончить идей уже нет (или знаний). Собственно суть в чем, требуется перезапись стандартных объектов, таких как
window.screen
navigator
и тд..а именно их свойств, то что они возвращают, по сути проблем нет если использовать
window.__defineGetter__("innerWidth", function () { return 'new width'; });
В Firefox и Chrome все отлично, так и другие свойства переписать можно, но мне нужно для движка WebKit (В комплекте к Qt идет) и вот тут начинаются жуткие проблемы и геморрой...там какой то урезанный движок яваскрипта, который не воспринимает гетеры...в таком виде.
Вообщем я нашел решение которое выглядит так:
var __originalNavigator = navigator;
navigator = new Object();
navigator.__proto__ = __originalNavigator;
navigator.__defineGetter__('userAgent', function () { return 'Custom'; });
И это то что нужно, но опять возникла проблема, все работает только со свойствами, если в объекте был какой то метод, он больше не работает...
navigator.javaEnabled()
приведет к ошибке, и тут я застрял, товарищи подскажите, существует ли способ таким образом работать/перезаписывать не только свойства но и все методы которые были в оригинальном объекте...Или хотя бы оставить методы рабочими, что то вроде полный клон оригинального объекта. Спасибо...