Якоря для приложения на DLE

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Andy80
Сообщения: 12
Зарегистрирован: 07 июн 2012, 08:34

Якоря для приложения на DLE

Сообщение Andy80 »

Здравствуйте. Есть ли у кого-нибудь готовое решение по якорям на приложение созданное на DLE? Если есть, поделитесь решением. У меня никак не получается. И если такового нет, то знающие люди, можно как-нибудь по-полочкам разложить (я не особо силен в java). Заранее спасибо!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Якоря для приложения на DLE

Сообщение Александр »

Для DLE не делал.
Смотри http://flapps.ru/forum/topic2144.html
Чтобы сделать, надо понимать где в DLE формируются ссылки. Я конкретно не могу сказать.
Andy80
Сообщения: 12
Зарегистрирован: 07 июн 2012, 08:34

Re: Якоря для приложения на DLE

Сообщение Andy80 »

Александр писал(а):Для DLE не делал.
Смотри http://flapps.ru/forum/topic2144.html
Чтобы сделать, надо понимать где в DLE формируются ссылки. Я конкретно не могу сказать.
Ну, если обычным скриптом передать ссылку, то скажем
будет выглядеть так:

Код: Выделить всё

<script>            var today=new Date()            document.write('<textarea readOnly style="width:100%; height:29px; font-size:11px; border:1px solid #E0E0E0;" onfocus="this.select();">'+window.location+'</textarea>')            </script> 
Это код ссылки для копирования.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Якоря для приложения на DLE

Сообщение Александр »

Andy80
Тебе надо сформировать ссылки с хэшем (значение после #)

Код: Выделить всё

http://flapps.ru/page-link#hash
В файле обработки страницы прочитать этот хэш и загрузить/переадресовать на нужную страницу.
Andy80
Сообщения: 12
Зарегистрирован: 07 июн 2012, 08:34

Re: Якоря для приложения на DLE

Сообщение Andy80 »

Ссылки формируются насколько я понял в файле engine.php
Или вот еще функция:

Код: Выделить всё

function get_url($id) {        global $cat_info;        if( ! $id ) return;        $parent_id = $cat_info[$id]['parentid'];        $url = $cat_info[$id]['alt_name'];        while ( $parent_id ) {                $url = $cat_info[$parent_id]['alt_name'] . "/" . $url;                $parent_id = $cat_info[$parent_id]['parentid'];                if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;        }        return $url;}
.
Где что переделать?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Якоря для приложения на DLE

Сообщение Александр »

Andy80
Ну передай какой-то параметра в хэше, по которому сможешь идентифицировать какую страницу отображать. Может хватит ID страницы, а может надо полную ссылку...
Andy80
Сообщения: 12
Зарегистрирован: 07 июн 2012, 08:34

Re: Якоря для приложения на DLE

Сообщение Andy80 »

Поставил Этот код

Код: Выделить всё

<script type="text/javascript">VK.addCallback('onLocationChanged', onLocationChanged); function onLocationChanged(location) {    if (location) {        window.location.href='http://site.ru/' + location + '';    }}</script>
теперь если переходить по адресу: http://vk.com/app123456#/url новости.html - то переходит к нужной новости, но возвращаясь на главную ссылка так и остается вида: http://vk.com/app123456#/url новости.html. Как сделать, чтобы менялась ссылка при переходах?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Якоря для приложения на DLE

Сообщение Александр »

setLocation - Изменяет хеш текущего адреса страницы, который записывается в адресной строке браузера после символа #. Используется для поддержки кнопок "назад" и "вперед" в браузере. Параметр fireEvent определяет - нужно ли вызывать событие onLocationChanged сразу после запуска метода.
http://vk.com/developers.php?oid=-1&p=Javascript_API
Ответить