Получить URL-адрес Frame src в адресной строке - PullRequest
0 голосов
/ 10 марта 2012

Я работаю над созданием мобильной версии веб-сайта, размещенного на сервере Windows GoDaddy. GoDaddy, по-видимому, обрабатывает мобильный поддомен, когда эта веб-страница находится внутри фрейма. Например:

 <head>

 </head>
 <frameset rows="100%,*" border="0">
 <frame src="myurl.com" frameborder="0" />
 <frame frameborder="0" noresize />
 </frameset>

 <!-- pageok -->
 <!-- 02 -->
 <!-- -->
 </html>

Проблема в том, что любая ссылка, которую я открываю на этой странице, открывается внутри фрейма, а URL-адрес в адресной строке никогда не меняется. Поэтому мой вопрос заключается в том, как получить URL-адрес фрейма для отображения в адресной строке браузера. Насколько я знаю, GoDaddy не дает мне доступ к файлу с указанным выше html, чтобы я мог его изменить. На каждой странице запускается исходный скрипт php, чтобы проверить, нужно ли перенаправлять его в мобильный браузер, поэтому, если есть способ сделать это с помощью PHP, я могу легко реализовать его.

Спасибо за любую помощь, которую вы, ребята, можете предложить.

1 Ответ

2 голосов
/ 10 марта 2012

Вы можете сделать это, используя JavaScript на своей странице:

top.location.href = document.location.href;

Это эффективно «вырывает» из родительского кадра, устанавливая местоположение окна родительского кадра в местоположение текущего кадра.

Конечно, вы хотите иметь какой-то индикатор, который вы только что вырвали из кадра, чтобы предотвратить зацикливание:

if (
     (document.location.href.indexOf("#ibrokeout") == -1) &&
     (top.location != location) 
  ) {
     // Break out of the frame
     top.location.href = document.location.href + "#ibrokeout";
    }

Надеюсь, это поможет.

...