Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№123-11-2011 13:10:30

dan5
Участник
 
Группа: Members
Зарегистрирован: 23-11-2011
Сообщений: 5
UA: Firefox 8.0

Изменить значение screen.width и screen.height

Здравствуйте,

подскажите возможно ли изменить значения параметров screen.width и screen.height

Это необходимо для анонимности, все другие параметры меняются, а вот эти не могу найти как поменять.

Отсутствует

 

№225-11-2011 11:09:53

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

Выделить код

Код:

window.screen.__defineGetter__("width", function() {
    return 1234;
});

Отсутствует

 

№325-11-2011 21:53:04

dan5
Участник
 
Группа: Members
Зарегистрирован: 23-11-2011
Сообщений: 5
UA: Firefox 8.0

Re: Изменить значение 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)

Отсутствует

 

№428-11-2011 11:11:17

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

dan5 пишет

А так не работает

по тому, что window ссылается не на то окно, видимо

Отсутствует

 

№528-11-2011 21:34:05

dan5
Участник
 
Группа: Members
Зарегистрирован: 23-11-2011
Сообщений: 5
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

Выполняю:

Выделить код

Код:

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
Выделить код

Код:

Выполняю:
window.screen.width
window.screen.height

Выдает:
1234
4321

По идее все как надо, но скрипт на загружаемой странице выдает реальные значения

Выделить код

Код:

<script type="text/javascript">
document.write(screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))
</script>

Отредактировано dan5 (28-11-2011 21:34:21)

Отсутствует

 

№629-11-2011 00:16:27

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Sleipnir 3.0

Re: Изменить значение screen.width и screen.height

Уважаемые коллеги по форуму! Если к вам обратится этот человек, создавший тему, и предложит денег за помощь в решении этой проблемы, не верьте ему. Он выслушает советы, примет помощь, а денег не заплатит. Только что проверено на себе. Требуйте ОБЯЗАТЕЛЬНО предоплату. Без предоплаты не соглашайтесь за него ничего делать. Либо сразу откажитесь от денег.

Добавлено 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)

Отсутствует

 

№729-11-2011 14:40:11

dan5
Участник
 
Группа: Members
Зарегистрирован: 23-11-2011
Сообщений: 5
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

Я обратился к Al_H за консультацией по плагинам firefox по данной проблеме.
И еще упомянул версию флеш, но это мне было не так важно т.к. она переопределяется аналогично.

Решение не в виде плагина меня не интересовало, т.к. у меня работает физическая смена разрешения - и выполняет поставленную задачу.

Я написал что у этой проблемы есть решение от Shutnik но оно у меня не работает.

Al_H видимо не разбирается в плагинах (я ему три раза предлагал данную ссылку, но он на нее внимание не обращал)
Он предложил идею чтобы я попробовал поменять параметр в реестре. Хоть это и не входило в мои планы,но я решил попробовал - не получилось.
И тут Al_H начал сочинять, хотя я задал цель - нужен плагин (или код который можно выполнить в mozrepl),
Предложил в hosts прописать нужный домен и тем самым изменять запрос с помощью htaccess (ну как отправить его обратно? :) )
Предложил поправить в HEX редакторе плагин flash (я тут же сказал что проще старую версию поставить :) )
Предложил поставить виртуальную машину
Предложил подключить еще один монитор

А потом он потребовал деньги за консультацию, хотя так и не решил мою проблему. За что тут платить?

Отсутствует

 

№829-11-2011 15:06:21

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

к сожалению __defineGetter__ признан устаревшим и в Firefox 8.0 моё решение из chrome не работает (вызывает ошибку «Error: uncaught exception: TypeError: target.__defineGetter__ is not a function»)

Отсутствует

 

№929-11-2011 15:54:37

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

Так ведь __defineGetter__() еще не удалили.
Или someObj.__defineGetter__.call(screen, ...)
Или Object.defineProperty().


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№1029-11-2011 16:20:29

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Sleipnir 3.0

Re: Изменить значение screen.width и screen.height

Здравствуйте, 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

dan5 пишет

И тут Al_H начал сочинять, хотя я задал цель - нужен плагин (или код который можно выполнить в mozrepl),

Вы задали цель – чтобы счетчик регистрировал конкретные данные вместо реальных. Вы путаете инструмент с задачей. Решить задачу – как раз и значит сочинять.

dan5 пишет

(ну как отправить его обратно? :) )

Я бы Вам помог это сделать, и более того, я это довольно подробно объяснил.

dan5 пишет

А потом он потребовал деньги за консультацию, хотя так и не решил мою проблему. За что тут платить?

Как за что? За консультацию. Иначе постановка вопроса изначально должна была быть как в том топике, на который Вы ссылаетесь.
Я не требовал деньги. Вы предложили деньги, а я их отработал. После чего напомнил о Вашем предложении оплатить консультацию.

Добавлено 29-11-2011 16:29:40
Вы ждали, что после того как Вы не выполнили изначального обещания, я Вам еще бесплатно напишу расширение, а потом буду ждать денег?

Отредактировано Al_H (29-11-2011 16:35:03)

Отсутствует

 

№1129-11-2011 16:55:57

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

Infocatcher пишет

Так ведь __defineGetter__() еще не удалили.
Или someObj.__defineGetter__.call(screen, ...)

а я и не говорил, что его удалили. просто с моим примером отсюда он не работает

Infocatcher пишет

Или Object.defineProperty().

и так тоже

Отсутствует

 

№1229-11-2011 17:22:18

dan5
Участник
 
Группа: Members
Зарегистрирован: 23-11-2011
Сообщений: 5
UA: Firefox 8.0

Re: Изменить значение screen.width и screen.height

Купил работающее расширение у Shutnik, за что ему большое спасибо.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]