2012-04-15 25 views
8

Tại sao các khung đó không được chấp nhận trong HTML5 nhưng không được sử dụng trong iFrames. Xét cho cùng, hầu như không có sự khác biệt nào giữa hai người. Trong nhiều trường hợp sử dụng một trong hai người trong số họ sẽ cung cấp cho cùng một đầu ra (tha thứ cho tôi nếu tôi sai)?Các khung bị phản đối trong HTML5 nhưng không được sử dụng trong iFrames

+0

Một chức năng 'iframe' giống như hầu hết các phần tử DOM' khối' khác, ngoại trừ nội dung của nó là "gốc" của một DOM khác. Điều tương tự cũng không thể nói về 'frame' (mà nằm trong 'frameset') và được định nghĩa theo những cách khá cố định để wrt cổng hiển thị. –

+0

Trên lập trình viên: "[Tại sao khung hình không được chấp nhận trong HTML5, nhưng không dùng iFrames?] (Http://programmers.stackexchange.com/q/144515/184857)" – WBT

Trả lời

5

Khung nội tuyến được sử dụng để nhúng "plugin" vào các phần của trang. Đã xem bản đồ google trên một trang web trước đây? Đó là những iframe.

Khung thực tế mặt khác khá vô nghĩa. Chúng hầu như không bao giờ được sử dụng trong các trang web chuyên nghiệp. Nếu bạn đã từng học một trường trung học, bạn có thể thấy các dự án CNTT sử dụng khung cho "thanh điều hướng" hoặc thứ gì đó. Họ chiếm một nửa trang (hoặc tuy nhiên bạn cấu hình nó) và được tải dưới dạng một trang riêng biệt.

Chỉ cần đặt: iframe có thể được sử dụng làm plugin. Khung không phù hợp và không hữu ích

Chỉnh sửa: Cụ thể hơn, khung nội tuyến và khung hình hoàn toàn khác nhau. Sử dụng ví dụ về bản đồ google của tôi và iframe sẽ có một hộp nhỏ trên trang khi bạn sử dụng. Một khung đồng bằng sẽ mất một nửa màn hình để hiển thị (bạn có thể thiết lập nhiều khung để một khung hình cụ thể ở giữa màn hình, nhưng tại sao lại làm như vậy khi bạn có thể sử dụng khung nội tuyến?)

+0

Tôi không nghĩ chúng là vô dụng. Tôi đã sử dụng chúng để xây dựng giao diện cho browsergames tuổi học tốt. Bạn có thể làm các hành động như ném phép thuật trong một trình đơn thả xuống ở phía bên phải, và cửa sổ chính trung tâm được cập nhật - tất cả mà không có bất kỳ javascript tham gia. Làm thế nào để đạt được điều này mà không có khung ngày nay? – shevy

+0

Nhiều người quên thế giới tồn tại trước AJAX, DHTML, CSS và JavaScript –

+0

Đây là một trang trình bày một ứng dụng mà tôi đang làm việc cho công việc ban ngày của tôi (không phải với MIT). Đó là tìm kiếm được nhúng thông qua API của bên thứ ba. Nhà tài trợ có thể chuyển đến hộp văn bản "Loại chủ nhân hoặc tên công ty tại đây" và kết quả tìm kiếm được trả lại từ matchinggifts.org trên trang web mit.edu: https://giving.mit.edu/matching-gifts – tbc0

1

Khung là một tính năng tuyệt vời trong các phiên bản trước của html. Tuy nhiên vì nhiều lý do (hầu hết trong số đó là ngoài sự hiểu biết của tôi) họ đã bị loại bỏ. Iframe được sử dụng để nhúng các ứng dụng và khung được sử dụng cho những thứ khác như khuôn mẫu.

Khung có hành vi lạ trong trình duyệt, mặc dù url không thay đổi (like this website) ngay cả khi nguồn của khung thay đổi. Điều này là do bạn đang xem nhiều trang web cùng một lúc với khung. Trong html5 điều này không có ý nghĩa (iframes và khung làm chủ yếu là những điều tương tự nhưng thẻ khung có một đặc điểm kỹ thuật xấu) và w3c loại bỏ chúng bởi vì họ đã không được chấp nhận trong một thời gian anyway.

+0

Framesets không khuyến khích ngay cả trong HTML 4.01. Nó không có gì để làm với "hai công ty phụ trách" của HTML5 (đó là W3C, người cũng đã viết tiêu chuẩn HTML 4.01). –

-1

<frame> hoạt động hoàn toàn khác với và thường không thân thiện với người dùng. Hầu hết các triển khai là như vậy mà địa chỉ chính của trang web luôn xuất hiện trong thanh địa chỉ, bất kể bạn đang ở đâu trên trang web. Điều này làm cho nó bên cạnh không thể đánh dấu trang, gửi liên kết đến trang khác, v.v.

Về cơ bản, khung là tuyên bố 'goto' của thế giới HTML. Chắc chắn, chúng có thể hữu ích, và chúng có thể được thực hiện tốt, nhưng phần lớn thời gian nó chỉ là lập trình xấu được thực hiện bởi các lập trình viên xấu.

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