Saya memiliki aplikasi web peta Google sederhana yang sedang saya kerjakan. Saya telah membeli nama domain untuk aplikasi tersebut (http://www.jcunav.com), yang selama pengujian saya, dirancang untuk meneruskan ke halaman yang dihosting di nama domain saya yang lain (http://www .codeemporium.com/experiments/map5.html). Saat menguji pada Android Nexus S saya, saya melihat perilaku aneh - jika saya mengunjungi http://www.codeemporium.com/experiments/map5.html secara langsung, lalu aplikasi ditampilkan sebagaimana dimaksud - peta adalah ukuran yang saya inginkan dan mengklik tautan "Tentang" akan menampilkan dialog dengan ukuran yang saya inginkan. Namun, jika saya mengunjungi http://www.jcunav.com (yang perlu diingat, teruskan saja ke http://www.codeemporium.com/experiments/map5.html), peta ditampilkan di apa yang tampak seperti tingkat yang lebih diperbesar, dan menekan tautan "Tentang" di bagian bawah halaman akan menampilkan kotak dialog yang juga tampak lebih diperbesar. Pertanyaan saya adalah, apa yang menyebabkan hal ini terjadi, mengingat semua http://www.jcunav.com adalah yang dilakukan adalah meneruskan ke http://www.codeemporium.com/experiments/map5.html ...
Mengapa halaman web ini ditampilkan berbeda ketika URL diteruskan?
Jawaban (2)
Apakah Anda yakin Anda tidak meneruskan frame? Saya memeriksa halaman di firebug untuk setiap tautan yang Anda berikan dan tampaknya Anda meneruskan frame-forward URL tersebut. Hal ini menyebabkan halaman target Anda 'terbungkus' dalam sebuah bingkai saat disajikan kepada pengguna akhir. Kemungkinan besar inilah sebabnya ini tidak berhasil untuk Anda.
Berikut adalah versi yang agak hilang dari apa yang ada di halaman yang diteruskan:
<!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>
Perhatikan tag bingkai:
<frameset frameborder="0" framespacing="0" border="0" rows="100%,*">
<frame name="MYTOPFRAME" src="http://www.codeemporium.com/experiments/map5.html" noresize>
Inilah yang terjadi ketika Anda melakukan frame ke depan.
Karena ukuran Anda bergantung pada penambahan tag HTML:
<html class="ui-mobile landscape min-width-320px min-width-480px min-width-768px min-width-1024px">
Mereka tidak berfungsi dalam versi frame-forwarded karena mereka bersarang di dalam frame dan bukan di halaman root.
Itu karena http://www.jcunav.com tidak meneruskan ke http://www.codeemporium.com/experiments/map5.html, ia memuatnya ke dalam bingkai:
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>
Anda harus benar-benar mengubah kumpulan bingkai tersebut untuk melakukan hal yang benar.