Tôi phải bao gồm một trang web bên trong div của trang web của tôi. Tôi muốn somehting như iframe
được thực hiện với DIV
. Về cơ bản, tôi sẽ cung cấp một URL cho div của tôi và nó phải mở nó bên trong chính nó ... Chúng ta có một cái gì đó như thế này trong HTML hiện đại? Tôi không thể sử dụng khung vì một số trình duyệt có vấn đề với khung.Bao gồm một trang web bên trong một div
Trả lời
Không. Bạn không thể nhúng một tài liệu HTML hoàn chỉnh bên trong một phần tử div khác vì đây là một phần tử mức khối và W3C đã xác định những gì có thể được bao gồm bên trong nó.
Nhưng có một giải pháp thay thế. Thực hiện theo các bước sau:
- Lấy tài liệu sử dụng ajax (đá jQuery, sử dụng đó)
- Trích xuất nội dung của phần tử
<body>
và đặt nó bên trong phần tửdiv
bạn - Nhận tất cả các liên kết và kịch bản của
<head>
yếu tố và thêm chúng vào phần tử<head>
của tảo hiện có của bạn.
gợi ý tốt đẹp – Varun
Bạn sẽ gặp phải lỗi tập lệnh chéo trang – kleinohad
Tôi nhận thấy đây là một năm cũ, nhưng tôi có cùng yêu cầu. Nếu bạn sử dụng ý tưởng này, bạn sẽ gặp rắc rối với các thuộc tính 'id'? (Bạn có thể có cùng một id trên 2 trang bạn đang 'kết hợp') ID trùng lặp có thể làm hỏng trình duyệt và bất kỳ mã truy vấn 'js' nào ... – Jess
bạn nên sử dụng khung nội tuyến. đó là cơ bản những gì iframes được cho. nếu bạn gắn bó với các trình duyệt hiện đại trong mọi trường hợp, chúng không có vấn đề với iframe (không nhiều hơn bạn sẽ phải đối mặt bằng cách sử dụng div thay thế) ...
Bạn có thể sử dụng iframe hoặc nếu bạn quyết định sử dụng chức năng tải jQuery (http://api.jquery.com/load/), bạn cần phải tránh những vấn đề kịch bản kịch bản chéo - bạn cần phải tạo ra một số loại proxie hãy xem này: WebBrowser Control: Disable Cross Site XSS Filtering or another way to process JS in full on HTML
Nó phải có trong câu hỏi riêng của mình, nhưng OP đã làm rõ lý do ông không muốn sử dụng một iframe
là bởi vì giao tiếp interframe không được phép. Vâng, không có gì là proxy + postMessage không thể giải quyết được.
Tôi tin rằng không có cách nào thực sự nhúng một tài liệu đầy đủ vào một tài liệu khác, giữ lại những thứ như tách phong cách và tập lệnh và tương tự, mà không sử dụng khung theo một nghĩa nào đó.
Đây thực sự là phần mở rộng cho phản hồi của Saeed. Để khắc phục các vấn đề về tập lệnh chéo trang, bạn sẽ phải viết một tập lệnh trên máy chủ của riêng bạn thực hiện cuộc gọi CURL để nhúng trang web. Sau đó, javascript của bạn sẽ thực hiện cuộc gọi đến tập lệnh này, chuyển URL dưới dạng tham số GET/POST.
Tôi đồng ý với rất nhiều người khác ở đây rằng đây là trường hợp bạn thực sự chỉ nên sử dụng iframe ... Tôi tin rằng bạn có thể đặt iframe không có thẻ src và đặt nội dung theo cách thủ công bên trong. Điều đó có nghĩa là bạn không cần phải thực hiện các bước mà Saeed đề xuất để phá vỡ đầu và cơ thể. Tuy nhiên, bạn vẫn cần kịch bản mà tôi mô tả để có được xung quanh kịch bản trang web chéo.
Hãy thử sử dụng một yếu tố <object>
:
<div style="margin: 0 auto; width:100%; height:400px;">
<object type="text/html" data="**URL to page**"
style="width:100%; height:100%; margin:1%;">
</object>
</div>
Trình duyệt/phiên bản nào tương thích với? – checksum
- 1. thẻ div Bao bì bên trong một div
- 2. Tạo một trang web maven bao gồm Báo cáo Cobertura
- 3. jQuery Mobile - Bao gồm Chân trang từ Tệp Bên ngoài
- 4. Thực hành tốt để bao gồm một menu trong một trang web?
- 5. PHP bao gồm bên trong một bao gồm (thư mục khác nhau)
- 6. Cách bao gồm một phần xem bên trong biểu mẫu web
- 7. Cuộn một trang web bên trong UIWebView
- 8. Thực hiện div bao gồm toàn bộ trang
- 9. Bao gồm một tập tin bên ngoài trong vợt
- 10. bao gồm typedef bên trong một tiêu đề lớp
- 11. Bao gồm các dấu trích dẫn bên trong một chuỗi?
- 12. Chỉ cuộn bên trong một div, trong khi trang web vẫn ở vị trí
- 13. Chọn một div cụ thể từ một trang web bên ngoài bằng cách sử dụng CURL
- 14. Bao gồm javascript tới các trang web của google
- 15. Một DIV ở trên cùng trong khi trang web cuộn
- 16. Wordpress: bao gồm nội dung của một trang trong một trang khác
- 17. Làm thế nào để bao gồm một plugin bên ngoài bên trong của một plugin jQuery được tác giả
- 18. Bóng bên trong một div
- 19. Bao gồm một thư viện tĩnh bên trong một khung động trong iOS
- 20. Làm thế nào để bao gồm một điều kiện bên trong một chuỗi trong ruby
- 21. Bao gồm các file JS trong một file xhtml được bao gồm sử dụng ui: bao gồm
- 22. Canvas bao gồm trang trong Internet Explorer
- 23. Bao gồm một tập tin văn bản bên trong một file jar và đọc nó
- 24. làm tổ svg bên trong một div
- 25. Bao gồm một lớp trong SCSS
- 26. chọn lọc vô hiệu hóa asset.digest trong Rails 3, vì vậy trang web bên ngoài có thể bao gồm stylesheet
- 27. Cách bao gồm một tệp trong LaTeX wihout gây ra một trang mới
- 28. DIV bên trong một DIV bên trong DIV khác với CSS
- 29. tải trang html bên trong div
- 30. Thêm vào TOC một bao gồm PDF
Tôi nghi ngờ rằng bạn sẽ có ít vấn đề sử dụng một 'iframe' hơn bạn sẽ được tái tạo' năng iframe' với một 'div'. Bạn đang nhắm mục tiêu các trình duyệt nào có vấn đề khi sử dụng 'iframes' (hoặc' frame's)? –
Không thể tìm thấy bất cứ điều gì để bỏ phiếu này chỉ là một câu hỏi đơn giản bởi vì các trình duyệt như chrome không cho phép liên lạc interframe – Varun
Chrome cho phép liên lạc interframe. Nó không cho phép liên lạc giữa các miền mà không có CORS, nhưng đó là theo spec. – Quentin