>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Изменить значение screen.width и screen.height http://forum.mozilla-russia.org/viewtopic.php?id=52539 |
dan5 > 23-11-2011 13:10:30 |
Здравствуйте, подскажите возможно ли изменить значения параметров screen.width и screen.height Это необходимо для анонимности, все другие параметры меняются, а вот эти не могу найти как поменять. |
Shutnik > 25-11-2011 11:09:53 |
dan5 > 25-11-2011 21:53:04 |
А как поменять значения до загрузки страницы? долго гуглил но рабочего кода для этого не нашел. Получается менять только после заргузки страницы, а тогда менять уже смысла нет, скрипты на странице отработали, реальные данные пользователя ушли полученны. Так работает, (на каждый запрос выдает alert) Выделить код Код:gBrowser.addProgressListener({onLocationChange: function(){ alert('www'); }}, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION); А так не работает Выделить код Код:gBrowser.addProgressListener({onLocationChange: function(){ window.screen.__defineGetter__('width', function() { return 1234;}); }}, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION); (выполняю код в консоли подключенной к mozrepl) в чем может быть проблема? |
Shutnik > 28-11-2011 11:11:17 |
dan5 пишет
по тому, что window ссылается не на то окно, видимо |
dan5 > 28-11-2011 21:34:05 |
Выполняю: Выделить код Код:window.screen.__defineGetter__("width", function() { return 1234;}); window.screen.__defineGetter__("height", function() { return 1234;}); repl.inspect(window.screen) Выдает: Выделить код Код:<object>.width=1234 <object>.height=4321 <object>.top=0 <object>.left=0 <object>.pixelDepth=24 <object>.colorDepth=24 <object>.availWidth=1920 <object>.availHeight=1152 <object>.availLeft=0 <object>.availTop=0 По идее все как надо, но скрипт на загружаемой странице выдает реальные значения Выделить код Код:<script type="text/javascript"> document.write(screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth)) </script> |
Al_H > 29-11-2011 00:16:27 |
Уважаемые коллеги по форуму! Если к вам обратится этот человек, создавший тему, и предложит денег за помощь в решении этой проблемы, не верьте ему. Он выслушает советы, примет помощь, а денег не заплатит. Только что проверено на себе. Требуйте ОБЯЗАТЕЛЬНО предоплату. Без предоплаты не соглашайтесь за него ничего делать. Либо сразу откажитесь от денег. 29-11-2011 00:18:34 Поясню, что задача перед ним стоит – обмануть счетчики посещений, но он почему-то хочет для этого использовать именно уровень браузера, все другие способы его не устраивают. Если интересно, бизнес ли это – да, похоже, это бизнес. 29-11-2011 00:21:26 И вообще, имейте уважение к себе. Хорошее правило – если речь идет изначально именно о платной услуге, всегда брать предоплату. Все те несколько раз, когда я этого не делал, я горько раскаивался. |
dan5 > 29-11-2011 14:40:11 |
Я обратился к Al_H за консультацией по плагинам firefox по данной проблеме. Решение не в виде плагина меня не интересовало, т.к. у меня работает физическая смена разрешения - и выполняет поставленную задачу. Я написал что у этой проблемы есть решение от Shutnik но оно у меня не работает. Al_H видимо не разбирается в плагинах (я ему три раза предлагал данную ссылку, но он на нее внимание не обращал) А потом он потребовал деньги за консультацию, хотя так и не решил мою проблему. За что тут платить? |
Shutnik > 29-11-2011 15:06:21 |
к сожалению __defineGetter__ признан устаревшим и в Firefox 8.0 моё решение из chrome не работает (вызывает ошибку «Error: uncaught exception: TypeError: target.__defineGetter__ is not a function») |
Infocatcher > 29-11-2011 15:54:37 |
Так ведь __defineGetter__() еще не удалили. |
Al_H > 29-11-2011 16:20:29 |
Здравствуйте, dan5. Хотите показать, что Вы честный человек, и выполнить обещание? Коллеги, рассудите нас! Если вы решите, что я прав, dan5 мне заплатит. dan5 Я привык, что человек формулирует задачу максимально близко к шагу, на котором он встретился с трудностью, и только долгими расспросами из него можно вытащить собственно цель, которой он хочет добиться. Так было и тут. Изначальная формулировка была – нужно подменить такие-то свойства, чтобы по запросу скрипта они выдавались не такие как есть. Это требуется для бизнеса, часть которого – обман счетчиков. Вот только незадача была в том, что предложены были три пути, из которых один совершенно точно не сработал бы, другой не сработал бы почти наверняка, что он уже и проверил. И еще один вариант был – плагином. Имелось в виду, очевидно, расширение. То есть требовалось написать расширение. Но это было В КОНЦЕ разговора. В начале разговора он этого не говорил. И, вот беда, два из этих свойств read-only, а третье мы не знаем где ставится. Мы не можем так просто пойти и изменить свойства read-only изнутри браузера. Тут-то и нужны трюки. Сейчас он переключает разрешение экрана на меньшее каждый раз перед заходами на страницы, что ему жутко неудобно. Он сказал, что решение за пределами файрфокса у него уже есть. Он переключает разрешение экрана. Неужели я предложил такие же неудобные варианты? По поводу одного из решений он сказал – тут ему подробнее объяснять не надо, потому что в htaccess он прекрасно разбирается, не то что в JavaScriptе. После чего решение не проверил. Это решение бы РАБОТАЛО. Если он найдет на форуме кого-то, кто со 100% предоплатой напишет ему именно расширение, милости просим. Я сделал то же что сделал бы в любом аналогичном случае – выяснил, что в итоге человек хочет получить, и решил ему проблему, вместо того чтобы несколько дней буксовать на этом конкретном участке выбранного им пути. После того как он выполнит обещание, я могу ему объяснить, почему из именно тех трех путей, которыми он собирался идти, два не сработают. скрытый текст
Хотя изначальное сообщение было о платной консультации. Дальше:
Подытожим: Человек не собирается платить, потому что у него уже есть решение за пределами файрфокса — он переключает разрешение экрана, а ответов конкретно по расширениям ему было мало. И применять он никакие решения за пределами файрфокса не собирается, потому что он уже переключает разрешение экрана. Очевидно, это такой удобный и универсальный способ. Рассудите нас! 29-11-2011 16:27:52 dan5 пишет
Вы задали цель – чтобы счетчик регистрировал конкретные данные вместо реальных. Вы путаете инструмент с задачей. Решить задачу – как раз и значит сочинять. dan5 пишет
Я бы Вам помог это сделать, и более того, я это довольно подробно объяснил. dan5 пишет
Как за что? За консультацию. Иначе постановка вопроса изначально должна была быть как в том топике, на который Вы ссылаетесь. 29-11-2011 16:29:40 |
Shutnik > 29-11-2011 16:55:57 |
Infocatcher пишет
а я и не говорил, что его удалили. просто с моим примером отсюда он не работает Infocatcher пишет
и так тоже |
dan5 > 29-11-2011 17:22:18 |
Купил работающее расширение у Shutnik, за что ему большое спасибо. |