>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Создание дополнения за деньги http://forum.mozilla-russia.org/viewtopic.php?id=47750 |
Abricosio > 13-01-2011 16:54:43 |
Добрый вечер! Уже писал, но возможно не так выразился. Нужно сделать приложение на заказ, суть которого заключается в том, чтобы некоторые параметры, которые по запросу отсылается браузер я мог корректировать. Подробное ТЗ подготовлю по запросу. Порядок цен - 400+$ в зависимости от функционала. |
Wernholt > 14-01-2011 11:28:47 |
Abricosio пишет
Вам нужно именно сделать или найти такое приложение? Что-то подобное, в принципе, уже существует. За 200 р. дам ответ . |
Abricosio > 14-01-2011 16:15:48 |
Wernholt пишет
Чтобы существовала подмена именно такого параметра как разрешение экрана? Или это что-то вроде Modify Headers? |
Wernholt > 14-01-2011 18:44:52 |
Abricosio пишет
Ну, это что-то вроде: меняется разрешение браузера. Будет показано, типа, как будет выглядеть страница при разных значения разрешения экрана посетителя страницы)... |
Abricosio > 15-01-2011 02:13:03 |
Нет, это несколько не то, дополнение должно отвечать на запрос любого скрипта о разрешении экрана так, как я ему скажу отвечать. |
Wernholt > 17-01-2011 14:18:14 |
Стесняюсь спросить...но для чего это нужно? |
Abricosio > 17-01-2011 15:45:12 |
Для работы в области тестирования |
luitzen > 17-01-2011 22:38:05 |
Интересно, кстати, какова последняя версия, в которой capability.policy.default.Screen.height ещё работало… |
Abricosio > 18-01-2011 01:07:33 |
А чем можно решить? Не готовы ли Вы взяться за это? |
luitzen > 18-01-2011 01:32:46 |
По-видимому, внесением изменений куда-то сюда и перекомпиляцией. Причём не очень понятно, как переключать «разрешение» на лету. Ещё, наверное, можно организовать какой-нибудь перехват системных вызовов, но тут я тоже дилетант . |
Abricosio > 18-01-2011 14:45:39 |
перехват системных вызовов несколько не то) Хочется именно изменение информации внутри браузера) |
Abricosio > 22-01-2011 23:12:41 |
Тема еще актуальна |
dark991 > 02-02-2011 11:07:33 |
возможно есть решение проблемы.. javascript запрашивает размер окна браузера, получает значения высот по x и y если я правильно описал технологию, могу подсказать ответ но это может некорректно работать, т.к. второй скрипт может ориентироваться на переданные ему переменные, а может на реальное разрешение экрана, получая его от gecko скорее всего в любом случае придется переделывать скрипты, а это ппц.. и вообще идея такого тестирования - глупая |
Abricosio > 03-02-2011 23:12:06 |
Уже неактуально! |
luitzen > 03-02-2011 23:16:00 |
Просим Shutnik поделиться с нами идеей . |
Shutnik > 04-02-2011 11:49:20 |
на самом деле, всё достаточно просто (сильно кастрированная версия) Выделить код Код:var overrider = { load : function() { Components.classes["@mozilla.org/docloaderservice;1"].getService(Components.interfaces.nsIWebProgress). addProgressListener(overrider.listener, Components.interfaces.nsIWebProgress.NOTIFY_LOCATION); }, listener : { QueryInterface : function(id) { if(id.equals(Components.interfaces.nsIWebProgressListener) || id.equals(Components.interfaces.nsISupportsWeakReference) || id.equals(Components.interfaces.nsISupports)) return this; throw Components.results.NS_NOINTERFACE; }, /* ловим загрузку страницы */ onLocationChange : function(progress, request, uri) { if(["http", "https", "file"].indexOf(uri.scheme) == -1) return false; var win = progress.DOMWindow.window.wrappedJSObject, sandbox = new Components.utils.Sandbox(win), args = [overrider.get_num("screen_width"), overrider.get_str("flash_version")]; sandbox.window = win; Components.utils.evalInSandbox("(" + overrider.override.toSource() + ")('" + args.join("', '") + "')", sandbox); return true; } }, /* основной хак */ override : function(screen_width, flash_version) { window.screen.__defineGetter__("width", function() { return screen_width; }); // ... window.navigator.plugins["Shockwave Flash"].__defineGetter__("version", function() { return flash_version; }); // ... } } |