Страницы: 1
Здравствуйте,
подскажите возможно ли изменить значения параметров screen.width и screen.height
Это необходимо для анонимности, все другие параметры меняются, а вот эти не могу найти как поменять.
Отсутствует
Отсутствует
А как поменять значения до загрузки страницы?
долго гуглил но рабочего кода для этого не нашел.
Получается менять только после заргузки страницы, а тогда менять уже смысла нет, скрипты на странице отработали, реальные данные пользователя ушли полученны.
Так работает, (на каждый запрос выдает 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)
в чем может быть проблема?
Отредактировано dan5 (26-11-2011 22:33:41)
Отсутствует
Выполняю:
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>
Отредактировано dan5 (28-11-2011 21:34:21)
Отсутствует
Уважаемые коллеги по форуму! Если к вам обратится этот человек, создавший тему, и предложит денег за помощь в решении этой проблемы, не верьте ему. Он выслушает советы, примет помощь, а денег не заплатит. Только что проверено на себе. Требуйте ОБЯЗАТЕЛЬНО предоплату. Без предоплаты не соглашайтесь за него ничего делать. Либо сразу откажитесь от денег.
Добавлено 29-11-2011 00:18:34
P.S. Схема, по которой он нажигает, такая:
1. Он говорит просьбу.
2. Выслушивает Ваши советы.
3. Находит в формулировке просьбы тайные лазейки, из-за которых Вы якобы сделали не совсем то что он имел в виду, а значит, Ваше РАБОТАЮЩЕЕ решение бесплатно.
4. Выясняется, что Вы должны были за него написать программный код, например, расширение, чтобы он Вам заплатил.
Profit.
Поясню, что задача перед ним стоит – обмануть счетчики посещений, но он почему-то хочет для этого использовать именно уровень браузера, все другие способы его не устраивают. Если интересно, бизнес ли это – да, похоже, это бизнес.
Добавлено 29-11-2011 00:21:26
Update:
И вообще, имейте уважение к себе. Хорошее правило – если речь идет изначально именно о платной услуге, всегда брать предоплату. Все те несколько раз, когда я этого не делал, я горько раскаивался.
Отредактировано Al_H (29-11-2011 00:47:48)
Отсутствует
Я обратился к Al_H за консультацией по плагинам firefox по данной проблеме.
И еще упомянул версию флеш, но это мне было не так важно т.к. она переопределяется аналогично.
Решение не в виде плагина меня не интересовало, т.к. у меня работает физическая смена разрешения - и выполняет поставленную задачу.
Я написал что у этой проблемы есть решение от Shutnik но оно у меня не работает.
Al_H видимо не разбирается в плагинах (я ему три раза предлагал данную ссылку, но он на нее внимание не обращал)
Он предложил идею чтобы я попробовал поменять параметр в реестре. Хоть это и не входило в мои планы,но я решил попробовал - не получилось.
И тут Al_H начал сочинять, хотя я задал цель - нужен плагин (или код который можно выполнить в mozrepl),
Предложил в hosts прописать нужный домен и тем самым изменять запрос с помощью htaccess (ну как отправить его обратно? )
Предложил поправить в HEX редакторе плагин flash (я тут же сказал что проще старую версию поставить )
Предложил поставить виртуальную машину
Предложил подключить еще один монитор
А потом он потребовал деньги за консультацию, хотя так и не решил мою проблему. За что тут платить?
Отсутствует
к сожалению __defineGetter__ признан устаревшим и в Firefox 8.0 моё решение из chrome не работает (вызывает ошибку «Error: uncaught exception: TypeError: target.__defineGetter__ is not a function»)
Отсутствует
Так ведь __defineGetter__() еще не удалили.
Или someObj.__defineGetter__.call(screen, ...)
Или Object.defineProperty().
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Здравствуйте, dan5. Хотите показать, что Вы честный человек, и выполнить обещание?
Нет, видимо.
Я могу выложить лог беседы, если интересно.
Коллеги, рассудите нас! Если вы решите, что я прав, dan5 мне заплатит.
dan5
Я потратил час-двадцать времени. Вы не сказали, что эти решения Вам не подходят, потому что они все из другой области. Вы пошли их проверять. Пока речь не зашла о том, чтобы все-таки оплатить мои услуги, Вы собирались этими решениями воспользоваться.
Я привык, что человек формулирует задачу максимально близко к шагу, на котором он встретился с трудностью, и только долгими расспросами из него можно вытащить собственно цель, которой он хочет добиться. Так было и тут.
Изначальная формулировка была – нужно подменить такие-то свойства, чтобы по запросу скрипта они выдавались не такие как есть. Это требуется для бизнеса, часть которого – обман счетчиков.
Вот только незадача была в том, что предложены были три пути, из которых один совершенно точно не сработал бы, другой не сработал бы почти наверняка, что он уже и проверил. И еще один вариант был – плагином. Имелось в виду, очевидно, расширение. То есть требовалось написать расширение. Но это было В КОНЦЕ разговора. В начале разговора он этого не говорил. И, вот беда, два из этих свойств read-only, а третье мы не знаем где ставится. Мы не можем так просто пойти и изменить свойства read-only изнутри браузера. Тут-то и нужны трюки.
Сейчас он переключает разрешение экрана на меньшее каждый раз перед заходами на страницы, что ему жутко неудобно.
Я послушал, что он говорит о проблеме, и предложил 6 решений, из которых в первом был неуверен. Именно первое он проверил, и оно не сработало. Про остальные в конце разговора (уже о деньгах) он сказал, что они "не по теме", потому что тема была – решить это именно внутри Файрфокса. Это надо было как-то обозначить в начале разговора – что все что я пока делаю бесплатно. В конце он уже говорил что ему требуется работающее решение. В начале он говорил о платной консультации.
Он сказал, что решение за пределами файрфокса у него уже есть. Он переключает разрешение экрана. Неужели я предложил такие же неудобные варианты?
По поводу одного из решений он сказал – тут ему подробнее объяснять не надо, потому что в htaccess он прекрасно разбирается, не то что в JavaScriptе. После чего решение не проверил.
А решение было – в Денвере или локальном Апаче прописать строчки три в htaccess и затем в файле hosts перенаправить счетчик на локальный хост, чтобы подменять JS-файлы. Делается часа за полтора максимум, если все время бегать смотреть в мануалы.
Это решение бы РАБОТАЛО.
Среди других решений были более удобные и менее удобные.
Если он найдет на форуме кого-то, кто со 100% предоплатой напишет ему именно расширение, милости просим.
Я сделал то же что сделал бы в любом аналогичном случае – выяснил, что в итоге человек хочет получить, и решил ему проблему, вместо того чтобы несколько дней буксовать на этом конкретном участке выбранного им пути.
После того как он выполнит обещание, я могу ему объяснить, почему из именно тех трех путей, которыми он собирался идти, два не сработают.
0:00:54 Alexander: Хорошо. Я Вам помогу это отладить.
0:01:19 Alexander: Не обязательно тем способом которым Вы это хотели изначально, но тем, которым это сработает.
0:01:25 Alexander: Договорились?
0:04:03 D@nil: я разводить никого не собирался, и если я получу нормальное решение плагином JS или просто кодом который выполню в mozrepl или userjs код - который поменяет screen.width и screen.heightто я готов заплатить
Хотя изначальное сообщение было о платной консультации. Дальше:
0:06:16 Alexander: Мы договорились или нет?
0:07:12 D@nil: >Не обязательно тем способом которым Вы это хотели изначально, но тем, которым это сработает.я согласен только на решение которое будет работать через:
1 выполнение команд mozrepl
2 плагином для FF
3
<…>согласны? и мы тогда договоримся
0:08:07 Alexander: Я согласен проработать один или несколько из этих пунктов и ЛИБО помочь в реализации ЛИБО доказать Вам что этим способом оно не сработает.
0:08:23 Alexander: Кое-что на эту тему в постановке задачи я уже вижу.
0:08:28 Alexander: Мы договорились?
0:10:06 D@nil: тут forum.mozilla-russia . org/viewtopic.php?pid=469874#p469874у людей работает? значит и мы можем так сделать
0:10:33 Alexander: Еще раз. Если Вы согласны на решение при помощи кофеварки, НО кофеварка неспособна решить поставленную задачу, ЗНАЧИТ, Ваша постановка задачи делает ее невыполнимой. Я собираюсь помочь Вам получить РАБОТАЮЩЕЕ решение. Если это будет значить делать это НЕ ЧЕРЕЗ кофеварку, это тоже нужно будет осознать. Понятно?
0:10:45 Alexander: Поэтому я так сформулировал
0:10:54 Alexander: Я согласен проработать один или несколько из этих пунктов и ЛИБО помочь в реализации ЛИБО доказать Вам что этим способом оно не сработает.
0:10:56 D@nil: так понятно.
0:11:01 Alexander: Мы договорились?
0:11:14 D@nil: но такое решение мне не нужно. тк у меня уже такое есть - и оно работает
0:11:28 Alexander: И какое же у Вас есть?
0:12:19 D@nil: я меняю разрешение через autoit3 физически, через каждые 5 минут
Человек не собирается платить, потому что у него уже есть решение за пределами файрфокса — он переключает разрешение экрана, а ответов конкретно по расширениям ему было мало. И применять он никакие решения за пределами файрфокса не собирается, потому что он уже переключает разрешение экрана. Очевидно, это такой удобный и универсальный способ.
Рассудите нас!
Добавлено 29-11-2011 16:27:52
И тут Al_H начал сочинять, хотя я задал цель - нужен плагин (или код который можно выполнить в mozrepl),
Вы задали цель – чтобы счетчик регистрировал конкретные данные вместо реальных. Вы путаете инструмент с задачей. Решить задачу – как раз и значит сочинять.
(ну как отправить его обратно? )
Я бы Вам помог это сделать, и более того, я это довольно подробно объяснил.
А потом он потребовал деньги за консультацию, хотя так и не решил мою проблему. За что тут платить?
Как за что? За консультацию. Иначе постановка вопроса изначально должна была быть как в том топике, на который Вы ссылаетесь.
Я не требовал деньги. Вы предложили деньги, а я их отработал. После чего напомнил о Вашем предложении оплатить консультацию.
Добавлено 29-11-2011 16:29:40
Вы ждали, что после того как Вы не выполнили изначального обещания, я Вам еще бесплатно напишу расширение, а потом буду ждать денег?
Отредактировано Al_H (29-11-2011 16:35:03)
Отсутствует
Так ведь __defineGetter__() еще не удалили.
Или someObj.__defineGetter__.call(screen, ...)
а я и не говорил, что его удалили. просто с моим примером отсюда он не работает
Или Object.defineProperty().
и так тоже
Отсутствует
Страницы: 1