Полная смена интерфейса на лету
Всем привет,
возникла такая мысля, думаю как бы лучше реализовать, есть сайт с игрушкой на пхп, форматирование страниц таблицами, хочу создать юзер скрип, который будет действовать как скин - то есть полностью заменит графику, заменит интерфейс, переназначит вывод результатов (скажем теперь чтоб увидеть ресурсы на базе нужно выполнить несколько переходов по страницам, а хочется это объединить в своеобразный макрос и выводить сразу результат в нужном мне месте) добавить переводы интерфейса (пока игра на английском только) Вопрос у меня сообственно как лучше это организовать? До сих пор таких кардинальных изменений не делал, ну там подключал свой ксс и только, к самой базе игры доступа нету. Первая мысль такая что сделать (как то) 2 части, в одну считывать оригинальное положение дел и имитировать клики (юзеру невидимая часть) во второй отрисовывать свой интерфейс и выводить данные из первой части (показывается юзеру) Может еще у кого какие есть соображения по этому поводу? |
Видел варианты типо слайдера
т.е текущая активная картинка в первом слайде, через время или по событию слайд переключается на следующий, убирается активной первой вкладки и активные скрипты и т.д действуют на следующей |
мне в принципе оригинальное окно вообще юзеру показывать не нужно, пока прикидываю такую схему: гружу сайт, вырезаю боди и враплю свои дивом который хиден, снизу прилепляю свой див в котором отрисовываю интерфейс и элементы, при нажатии на мой элемент - вычисляю что нажали и выполняю программное нажатие в первом диве, но он зараза среагировав перегрузит всю страницу... может в какой фрейм его тогда грузить?
Но получиться ли обращаться во фрейме к элементам? Еще такого не делал не уверен просто... |
Цитата:
Хотя , при активности скриптов внутри фрейма - можно ускорить это дело..., но по опыту все же аякс проще - шустрей, и без сильных извратов |
да но не будет ли это перегружать активное окно? Если делать свою страницу то да можно и так, а если навешивать на уже существующию?
|
Цитата:
Глянь в гугле сайт с самой большой страницей по высоте(9 км по-моему), там вообще подгрузка по мере скролла |
так мне не подгружать нужно :) мне заменять :) ну или я еще не понимаю как это сделать - звучит как пилить ветку на которой сидишь...
|
Цитата:
Я потому и говорил про слайдер... Работа браузера в рендинге в основном и действии скриптов |
я возможно что то еще не понимаю, но может просто объяснить не умею, есть скажем адрес: игра.ком я вешаю юзер скрипт, как только он видит что юзер открыл на вкладке этот сайт - активируеться, скажем просто дорисовывает свой див - если мы кликнем по ссылке - он вернет обновленную страницу в браузер и как тогда?
|
Вообще это очено гемморно, но если не лень тратить своё время, то делается иначе: анализируется js, css и html, а потом заменяются полностью на свои, отредактированные версии. Т.е. в том же окне по сути работает уже другая страница. Только так можно добиться безглючного результата.(и то до первого изменения в оригинальном коде) А все эти перенаправления кликов ничего хорошего не дадут.
|
При скрытии основного врапера контента - имхо нет смысла беспокоится и перенаправлять кликеры и рендинг тож для него отсутствует
|
да мне так и надо чтоб в оке юзера работала моя страница, но данные поступали с сервера, поскольку я не имею доступа к серверу я не могу ничего ему диктовать, а вот парсить то что он выдает могу, потому и возникла идея о двух контейнерах, в одном работает игра, в другом то что я показываю юзеру, так сказать ловкость рук и никакого обмана :)
|
Kvark, запоросы и ответы сервера получать исключительно ajax'ом, без перезагрузки страницы и никаких проблем. И диктовать серверу вы можете(в пределах правил... а может и не толко если на сервере говнокод без проверки входных данных :) ), если разберётесь как работает его API, т.е. изучите работу исходного javascript кода.
|
сервер работает на пхп, какие скрипты вызываються я вижу, данные что ему передаеться тоже, а вот как в одном окне иметь и оригинальную страницу сервера и свою - никак не пойму
|
кажеться стало доходить... буду на выходных пробовать исполнить
|
Часовой пояс GMT +3, время: 07:02. |