2013-08-15 37 views
20

Tôi mới sang HTML5 và tôi đã thực hiện một số nghiên cứu và phát hiện ra rằng việc sử dụng <frameset> là lỗi thời và từ những gì tôi đọc <iframes> thì không. Vì vậy, ai đó có thể giúp tôi, tôi muốn có được kết quả tương tự như ví dụ được hiển thị nhưng trong khi sử dụng <iframes> hoặc thay thế khác cho <frameset> không được dùng trong HTLM5?thay thế cho khung trong html5 sử dụng iframe

<frameset cols="20%,*,"> 
    <frame src="menu.html"> 
    <frame src="events.html"> 
</frameset> 
+1

Không có sự thay thế dễ dàng nào cho việc này. –

+0

Điều gì, cụ thể là về khung hình mà bạn đang cố tạo lại? Bạn chỉ muốn hai cột? –

+0

Tôi muốn có chức năng tương tự như khi sử dụng – user2682329

Trả lời

1

HTML 5 không hỗ trợ iframe. Có một vài thuộc tính thú vị được thêm vào như "sandbox" và "srcdoc".

http://www.w3schools.com/html5/tag_iframe.asp

hoặc bạn có thể sử dụng

<object data="framed.html" type="text/html"><p>This is the fallback code!</p></object> 
+1

đoạn mã html này, đầu thẻ, đây có phải là một html hợp lệ không? – chulian

26

Frames đã bị phản đối bởi vì họ gây ra rắc rối cho hàng hải url và siêu liên kết, bởi vì các url sẽ chỉ mất đến cho bạn những trang chỉ mục (với frameset) và không có cách nào để xác định những gì có trong mỗi cửa sổ khung. Ngày nay, các trang web thường được tạo bởi các công nghệ phía máy chủ như PHP, ASP.NET, Ruby, vv Thay vì sử dụng khung, các trang có thể được tạo một cách đơn giản bằng cách hợp nhất mẫu với nội dung như sau:

Tệp mẫu

<html> 
<head> 
<title>{insert script variable for title}</title> 
</head> 

<body> 
    <div class="menu"> 
    {menu items inserted here by server-side scripting} 
    </div> 
    <div class="main-content"> 
    {main content inserted here by server-side scripting} 
    </div> 
</body> 
</html> 

Nếu bạn không có hỗ trợ đầy đủ cho một server-side ngôn ngữ kịch bản, bạn cũng có thể sử dụng server-side includes (SSI). Điều này sẽ cho phép bạn làm điều tương tự - tức là. tạo một trang web duy nhất từ ​​nhiều tài liệu nguồn. Nếu bạn thực sự chỉ muốn có một phần của trang web của bạn là một "cửa sổ" riêng biệt mà bạn có thể tải các trang web khác không nhất thiết nằm trên máy chủ của riêng mình, bạn sẽ phải sử dụng một số iframe.

Bạn có thể bắt chước ví dụ của bạn như thế này:

Frames Ví dụ

<html> 
<head> 
    <title>Frames Test</title> 
    <style> 
    .menu { 
     float:left; 
     width:20%; 
     height:80%; 
    } 
    .mainContent { 
     float:left; 
     width:75%; 
     height:80%; 
    } 
    </style> 
</head> 
<body> 
    <iframe class="menu" src="menu.html"></iframe> 
    <iframe class="mainContent" src="events.html"></iframe> 
</body> 
</html> 

Có nhiều cách có lẽ tốt hơn để đạt được bố trí. Tôi đã sử dụng thuộc tính CSS float, nhưng bạn cũng có thể sử dụng bảng hoặc các phương thức khác.

6

Mặc dù tôi đồng ý với mọi người khác, nếu bạn đã chết khi sử dụng khung, bạn có thể chỉ cần index.html trong XHTML và sau đó thực hiện nội dung của khung trong HTML5.

Các vấn đề liên quan