Почему эта веб-страница отображается по-разному при переадресации URL-адреса?

У меня есть простое веб-приложение Google Maps, над которым я работаю. Я приобрел доменное имя для приложения (http://www.jcunav.com), которое во время тестирования предназначено для простой переадресации на страницу, размещенную на моем другом доменном имени (http://www.jcunav.com). .codeemporium.com/experiments/map5.html). Однако при тестировании на Android Nexus S я заметил странное поведение — если я захожу на http://www.codeemporium.com/experiments/map5.html напрямую, затем приложение отображается так, как задумано — карта имеет нужный размер, а нажатие на ссылку «О программе» открывает диалоговое окно нужного размера. Однако если я зайду на http://www.jcunav.com (который, имейте в виду, просто переадресует на http://www.codeemporium.com/experiments/map5.html), карта отображается в то, что выглядит как более уменьшенный уровень, и нажатие ссылки «О программе» внизу страницы показывает диалоговое окно, которое также выглядит более уменьшенным. Мой вопрос: что может быть причиной этого, учитывая, что все http://www.jcunav.com делается переадресация на http://www.codeemporium.com/experiments/map5.html ...


person Bryce Thomas    schedule 01.05.2011    source источник


Ответы (2)


Вы уверены, что не выполняете переадресацию кадров? Я проверил страницу в firebug на предмет каждой из предоставленных вами ссылок, и мне кажется, что вы перенаправляете URL-адрес. Это приводит к тому, что ваша целевая страница «заворачивается» во фрейм при представлении конечному пользователю. Вероятность того, что это не работает для вас, высока.

Вот несколько потерянная версия того, что находится на переадресованной странице:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>JCU Nav</title>
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</head>
    <frameset frameborder="0" framespacing="0" border="0" rows="100%,*">
        <frame name="MYTOPFRAME" src="http://www.codeemporium.com/experiments/map5.html" noresize>
        -- snip --

    </frameset>

</html>

Обратите внимание на тег кадра:

<frameset frameborder="0" framespacing="0" border="0" rows="100%,*">
        <frame name="MYTOPFRAME" src="http://www.codeemporium.com/experiments/map5.html" noresize>

Вот что происходит, когда вы кадрируете вперед.

Поскольку ваш размер зависит от дополнений к тегу HTML:

<html class="ui-mobile landscape min-width-320px min-width-480px min-width-768px min-width-1024px">

Они не работают в версии с переадресацией фреймов, поскольку вложены внутри фрейма, а не на корневой странице.

person Thomas W Tupper    schedule 01.05.2011
comment
Я думаю ты прав. Когда я настраивал переадресацию через своего регистратора доменных имен, я не понимал, как они это делают. - person Bryce Thomas; 01.05.2011
comment
@BryceThomas, у большинства регистраторов есть несколько вариантов переадресации. Некоторые называют это такими терминами, как переадресация «Frame» и «Standard». Другие будут использовать такие термины, как «маскированный», когда речь идет о кадрах вперед. Я предполагаю, что вы хотели скрыть истинный URL-адрес, но единственный способ сделать это — использовать переадресацию кадров, и я не думаю, что это сработает для вас из-за необходимости иметь класс, определенный на корневой HTML-тег. - person Thomas W Tupper; 01.05.2011

Это связано с тем, что http://www.jcunav.com не перенаправляет на http://www.codeemporium.com/experiments/map5.html, он загружает его во фрейм:

C:\Documents and Settings\blah>wget -S -O - http://www.jcunav.com/
--01:05:21--  http://www.jcunav.com/
           => `-'
Resolving www.jcunav.com... 66.150.161.141, 69.25.27.173, 63.251.171.80, ...
Connecting to www.jcunav.com|66.150.161.141|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Sun, 01 May 2011 05:01:11 GMT
  Server: Apache/2.0.49 (Unix) PHP/4.3.9
  X-Powered-By: PHP/4.3.9
  Content-Length: 823
  Connection: close
  Content-Type: text/html; charset=ISO-8859-1
Length: 823 [text/html]

 0% [                                                                             ] 0             --.--K/s             <
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>JCU Nav</title>
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</head>
        <frameset frameborder="0" framespacing="0" border="0" rows="100%,*">
            <frame name="MYTOPFRAME" src="http://www.codeemporium.com/experiments/map5.html" noresize>
            <noframes>
                <body>
           <h1>JCU Nav</h1>
           <br>
           <br>
           <br>
           Click here to enter <a href="http://www.codeemporium.com/experiments/map5.html">http://www.codeemporium.com/e
xperiments/map5.html</a>
           <hr>
| Domain Name Registration and Domain Name Forwarding by <a href="http://www.mydomain.com">mydomain.com - Register your
domain name</a>
        </body>
            </noframes>
        </frameset>
</html>

Вам нужно будет фактически изменить этот набор кадров, чтобы сделать правильную вещь.

person Femi    schedule 01.05.2011
comment
Хотел бы я принять два ответа, чтобы это тоже можно было принять :( - person Bryce Thomas; 01.05.2011