Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сделать один обработчик на всю папку, Заставляю форум работать только в iframe 
:(
    Опции темы
ТРЕТЬ
Дата 16.7.2008, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



Делаю вывод phpbb3 форума внутри страницы... Сделал на iframe (понимаю, что для поисковиков не самый лучший вариант, но это пока устраивает)... Все в принципе неплохо, но есть довольно большая проблема - я не могу давать прямые линки на топики в форуме, потому как страница, на которой расположился форум имеет все время один и тот же адрес(www.domain.zone/index.php?option=com_cbwrapper), а уже по кликам внутри iframe происходит изменение отображения форума...

Более того, если человек просто введет в браузер прямую ссылку на топик в форуме, тот откроется сам по себе а не внутри фрейма. Кстати, форум находится на (www.domain.zone/forum)..

В принципе, как я вижу возможность разрешить эту проблему.
Нужно каким-то образом сделать так, чтобы человек, заходя на ссылку www.domain.zone/forum/*любой текст* попадал на файл hack.php (допустим), который будет редиректить на нужную мне страницу (www.domain.zone/index.php?option=com_cbwrapper) а в POST параметре передавать уже страницу форума, которую человек пытался открыть...

Кстати, заодно подскажите, как можно сделать такой редирект (с POST параметром на борту)

Буду очень благодарен любой помощи. Заранее спасибо!
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 16.7.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: нет
Всего: 32



Цитата(ТРЕТЬ @  16.7.2008,  13:13 Найти цитируемый пост)
Кстати, заодно подскажите, как можно сделать такой редирект (с POST параметром на борту)

с удовольствием тебя разочарую. никак.

модератор перенесет твой вопрос в раздел по яваскрипту, будешь искать решение там.
Хотя, конечно, сам вопрос несколько противоречит постулату "все устраивает".

Хотя, конечно, идеальным решением было бы почитать доокументацию. и научиться менять дизайн пхпбб.


PM   Вверх
MoLeX
Дата 16.7.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: нет
Всего: 140



Цитата(Feldmarschall @  16.7.2008,  13:34 Найти цитируемый пост)
модератор перенесет твой вопрос в раздел по яваскрипту, будешь искать решение там.

ахя, так ка на РНР такие манипуляции не возможны.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
skyboy
Дата 16.7.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(ТРЕТЬ @  16.7.2008,  12:13 Найти цитируемый пост)
 так, чтобы человек, заходя на ссылку www.domain.zone/forum/*любой текст* попадал на файл hack.php

получится страница с фреймом, правильно?
браузер, желая отобразить в фрейме страницу с адресом www.domain.zone/forum/*любой текст* получит редирект на hack.php, который вернет страницу со фреймом... и так далее без конца. проблема в том, что не определить наверняка: открыл ли человек страницу во фрейме или без "окантовки". нет, вообще-то  возможно поможет проверка referrer, но это попсово, ненадежно и, возможно, я ошибаюсь, думая, что там будет адрес страницы, на которой расположен фрейм. в любом случае, это полумера. а в общем случае, мы будем иметь страницу, во фрейме которой эта же страница, во фрейме которой эта же страница, во фрейме которой... и так далее, пока браузер не "вылетит".
и это даже без учета того, что "редирект с передачей POST" невозможен.
PM MAIL   Вверх
ТРЕТЬ
Дата 16.7.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



Цитата(skyboy @ 16.7.2008,  13:45)
Цитата(ТРЕТЬ @  16.7.2008,  12:13 Найти цитируемый пост)
 так, чтобы человек, заходя на ссылку www.domain.zone/forum/*любой текст* попадал на файл hack.php

получится страница с фреймом, правильно?
браузер, желая отобразить в фрейме страницу с адресом www.domain.zone/forum/*любой текст* получит редирект на hack.php, который вернет страницу со фреймом... и так далее без конца. проблема в том, что не определить наверняка: открыл ли человек страницу во фрейме или без "окантовки". нет, вообще-то  возможно поможет проверка referrer, но это попсово, ненадежно и, возможно, я ошибаюсь, думая, что там будет адрес страницы, на которой расположен фрейм. в любом случае, это полумера. а в общем случае, мы будем иметь страницу, во фрейме которой эта же страница, во фрейме которой эта же страница, во фрейме которой... и так далее, пока браузер не "вылетит".
и это даже без учета того, что "редирект с передачей POST" невозможен.

хм... кстати верно... я не подумал о таком развитии событий... что же делать.... буду думать вообщем
PM MAIL WWW ICQ   Вверх
ksnk
Дата 16.7.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Ну, дык. А javascript на что? При входе на страничку форума проверяем переменную
Код

if(top && typeof(top.MyXXX)) {
 // нас открыли во фрейме - живем себе дальше

} else {
// нету фрейма - уматываем...
document.location = "address/#forum:xx:yy:zz";
}


На главной страничке пишем

Код

MyXXX=true ;// чтобы фрейм нас увидел

var x;
if(document.hash && (x=document.hash.match(/(forum)(:(\w))?(:(\w))?(:(\w))?/))
{
   // делаем пост по параметрам x[3], x[5], x[7]
}


Пост можно делать разнообразным количеством способов, к примеру сабмитом формы. Впрочем, зачем нам нужен именно post, мне не очень понятно... В Get не влазит адрес сообщения?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ТРЕТЬ
Дата 17.7.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



Большое спасибо!

Добавлено через 3 минуты и 17 секунд
Пришлось немного помодить. Вот что получилось (кстати, обратите внимание на функцию sendAsPost, по-моему, может быть довольно полезной)
Код

<script type="text/javascript" language="javascript">
function sendAsPost(getString)
{
    var parms = getString.split('?');
    var newF = document.createElement("form");
    newF.action = 'http://test/index.php?option=com_cbcwrapper&Itemid=52';
    newF.method = 'POST';
    var parms = parms[1].split('&');
    for (var i=0; i<parms.length; i++)
    {
        var pos = parms[i].indexOf('=');
        if (pos > 0)
        {
            var key = parms[i].substring(0,pos);
            var val = parms[i].substring(pos+1);
            /*@cc_on @if (@_jscript)
            var newH = document.createElement("<input name='"+key+"'>");
            @else */
            var newH = document.createElement("input");
            newH.name = key; /* @end @*/
            newH.type = 'hidden';
            newH.value = val;
            newF.appendChild(newH);
        }
    }
    document.getElementsByTagName('body')[0].appendChild(newF);
    newF.submit();
}


if (window.top==window.self) {
    if(document.URL && (document.URL.match(/(forum)(:(\w))?(:(\w))?(:(\w))?/)))
    {
        y = document.URL;
        document.write('<body><!--x--></body>');
        toPost(y);
    }
} 
</script>
 
PM MAIL WWW ICQ   Вверх
ksnk
Дата 17.7.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



ТРЕТЬ, Забавно. ;-)
Однако мне казалось, что пост должен делаться из верхнего окна приложения с таргетом во фрейм.

Пост плох тем, что, ежели юзер пожелает нажать на кнопку "обновить", он может впасть в ступор, разглядываея сообщение о том, что он(юзер), оказывается, что-то куда-то посылал и у него еще и спрашивают, а не послать ли это неизвестно что неизвестно кому еще раз smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0833 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.