เหตุใดหน้าเว็บนี้จึงแสดงแตกต่างออกไปเมื่อมีการส่งต่อ URL

ฉันมีเว็บแอปพลิเคชัน Google Maps แบบง่ายๆ ที่ฉันกำลังทำอยู่ ฉันได้ซื้อชื่อโดเมนสำหรับแอปพลิเคชัน (http://www.jcunav.com) ซึ่งในระหว่างการทดสอบของฉัน ได้รับการออกแบบมาเพื่อส่งต่อไปยังหน้าที่โฮสต์บนชื่อโดเมนอื่นของฉัน (http://www .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' คนอื่นๆ จะใช้คำเช่น 'masked' เมื่อกล่าวถึง frame-forwards ฉันเดาว่าคุณต้องการซ่อน 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