У меня есть простое веб-приложение 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 ...
Почему эта веб-страница отображается по-разному при переадресации URL-адреса?
Ответы (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">
Они не работают в версии с переадресацией фреймов, поскольку вложены внутри фрейма, а не на корневой странице.
Это связано с тем, что 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>
Вам нужно будет фактически изменить этот набор кадров, чтобы сделать правильную вещь.