ОРФографическое
   Улучшение
    Сайтов|
Orphus community
Orphus Community
Orphus community forum.
 

Хочу подладить новую версию под фреймы (Владимир Коэн-Цедек)
Автор Сообщение
Владимир Коэн-Цедек
Участник форума



Зарегистрирован: 26.09.2004
Сообщ.: 182
Карма: 6
   поощрить/наказать

Откуда: с исторической родины

СообщениеДобавлено: Пт Мая 16, 2008 8:03 pm (написано за 3 минуты 55 секунд)
   Заголовок сообщения: Хочу подладить новую версию под фреймы
   Ответить с цитатой

Мое почтение всем. А вопрос, видимо, к самому Дмитрию.

У меня на сайте до сих пор стоит старая весия Орфуса. Мой сайт сделан через фреймы, поэтому в Орфусе я произвел небольшую модификацию: вместо
Код (JavaScript): скопировать код в буфер обмена
parent.document.onkeypress = function(e) { return th.onkeypress(e) };
я написал
Код (JavaScript): скопировать код в буфер обмена
if(top.frames['page'])top.frames['page'].document.onkeypress=function(e){return th.onkeypress(e)};
if(top.frames['page0'])top.frames['page0'].document.onkeypress=function(e){return th.onkeypress(e)};
if(top.frames['ogl'])top.frames['ogl'].document.onkeypress=function(e){return th.onkeypress(e)};
Как мне произвести такую же функционально модификацию в новой версии? Догадываюсь, что вместо
Код (JavaScript): скопировать код в буфер обмена
var d=w.document;
надо будет сделать какой-то цикл... Но как?

Заранее спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Владимир Коэн-Цедек
Участник форума



Зарегистрирован: 26.09.2004
Сообщ.: 182
Карма: 6
   поощрить/наказать

Откуда: с исторической родины

СообщениеДобавлено: Пт Мая 16, 2008 8:34 pm (спустя 31 минуту; написано за 1 минуту 58 секунд)
   Заголовок сообщения:
   Ответить с цитатой

Пока сделал вот что. На месте
Код (JavaScript): скопировать код в буфер обмена
var d=w.document;
поставил такие строчки:
Код (JavaScript): скопировать код в буфер обмена
if(top.frames['page'])xxx(top.frames['page'].document);
if(top.frames['page0'])xxx(top.frames['page0'].document);
if(top.frames['ogl'])xxx(top.frames['ogl'].document);
function xxx(d) {
То есть всё, что после этого места, превращается в функцию. И осталось только понять, где у этой функции
Код (JavaScript): скопировать код в буфер обмена
}
В конце файла слишком много разных закрывающих скобок, и я не могу разобраться, где среди них место моей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Владимир Коэн-Цедек
Участник форума



Зарегистрирован: 26.09.2004
Сообщ.: 182
Карма: 6
   поощрить/наказать

Откуда: с исторической родины

СообщениеДобавлено: Сб Мая 17, 2008 9:30 pm (спустя 1 день 55 минут; написано за 3 минуты 50 секунд)
   Заголовок сообщения:
   Ответить с цитатой

Занялся дебагом и понял, что я был слишком оптимистичен. Оказывается, там при загрузке страницы создается некий объект, а при нажатии на Ctrl+Enter вызывается некий метод этого объекта. Соответственно, я со своими фреймами должен создавать несколько объектов. Кроме того, там идет обращение к d.getElementById("orphus"), т.е. в этом месте кода d должно обозначать не произвольный фрейм, а обязательно тот, к которому я прицепил Орфус (а у меня такой один). Кроме того, там есть всякие d.createElement, и по крайней мере один из них должен работать в том фрейме, в котором я хочу видеть показываемое юзеру окно Орфуса (а это не обязательно тот фрейм, в котором юзер выделил ошибку). Короче говоря, мне без помощи автора никак... :^(
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Юрий Насретдинов
Модератор



Зарегистрирован: 13.03.2003
Сообщ.: 7793
Карма: 192
   поощрить/наказать

Откуда: 007 495

СообщениеДобавлено: Вс Мая 18, 2008 2:24 pm (спустя 16 часов 54 минуты; написано за 2 секунды)
   Заголовок сообщения:
   Ответить с цитатой

А как насчет того, чтобы поместить по копии орфуса в каждый фрейм? скрипт все равно будет скачан только один раз, его браузер после этого положит в кэш. И не придется ничего придумывать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Владимир Коэн-Цедек
Участник форума



Зарегистрирован: 26.09.2004
Сообщ.: 182
Карма: 6
   поощрить/наказать

Откуда: с исторической родины

СообщениеДобавлено: Вс Мая 18, 2008 3:06 pm (спустя 41 минуту; написано за 1 минуту 31 секунду)
   Заголовок сообщения:
   Ответить с цитатой

Увы, я от этого отказался, потому что у меня сотни файлов, которые сменяют друг друга в одном фрейме в зависимости от пункта, выбранного в оглавлении. Поэтому файл оглавления, сидящий в другом фрейме, как раз и содержит ссылку на Орфус и сажает его в остальные фреймы. В старой-то версии это работало!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383
   поощрить/наказать


СообщениеДобавлено: Ср Мая 21, 2008 2:49 am (спустя 2 дня 11 часов 43 минуты; написано за 18 секунд)
   Заголовок сообщения:
   Ответить с цитатой

В новой так просто это все не сделать.
Придется Вам использовать старую, вероятно...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Владимир Коэн-Цедек
Участник форума



Зарегистрирован: 26.09.2004
Сообщ.: 182
Карма: 6
   поощрить/наказать

Откуда: с исторической родины

СообщениеДобавлено: Ср Мая 21, 2008 3:24 pm (спустя 12 часов 34 минуты; написано за 40 секунд)
   Заголовок сообщения:
   Ответить с цитатой

Жалко, однако. И странно, что такой запрос возник только у меня. Ну, я верю, что когда-нибудь это будет реализовано. :^)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Дмитрий Кóтеров
Администратор



Зарегистрирован: 10.03.2003
Сообщ.: 13502
Карма: 383
   поощрить/наказать


СообщениеДобавлено: Чт Мая 22, 2008 12:37 am (спустя 9 часов 13 минут; написано за 54 секунды)
   Заголовок сообщения:
   Ответить с цитатой

Штука в том, что фреймы - практически мертвая технология, она все реже и реже используется. Ну и плюс многие, у кого фреймы, могут Орфус вставлять прямо в основной фрейм без каких-либо проблем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начaть нoвую тeму   Ответить на тему Часовой пояс: GMT + 4 (Москва, Лето)
Страница 1 из 1    Отправить ссылку другу
Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать в опросах. Вы можете отправлять сообщение модераторам. Вы не можете прилагать файлы к сообщениям. Вы можете скачивать файлы.