Tôi có một ứng dụng mà tôi muốn nhúng bên trong CMS công ty của chúng tôi. Cách duy nhất để làm điều đó (tôi được cho biết), là tải nó trong một .<iframe> - Cách hiển thị toàn bộ chiều cao của trang được tham chiếu?
Dễ dàng: chỉ cần đặt height
và width
đến 100%
! Ngoại trừ, nó không hoạt động.
tôi đã tìm hiểu về việc thiết frameborder
để 0
, vì vậy nó ít nhất trông như một phần của trang web, nhưng tôi không muốn có một thanh cuộn xấu xí bên một trang allready có một.
Bạn có biết thủ thuật nào để làm điều này không?
EDIT: Tôi nghĩ mình cần phải làm rõ câu hỏi của tôi hơi:
- công ty CMS sẽ hiển thị các lông tơ và các công cụ cho toàn bộ trang web của chúng tôi
- hầu hết các trang tạo thông qua CMS
- ứng dụng của tôi không phải vậy, nhưng chúng sẽ cho phép tôi nhúng nó vào một số
- Tôi không kiểm soát được
iframe
, vì vậy mọi giải pháp phải hoạt động từ trang được tham chiếu (theosrc
thuộc tính của thẻiframe
) - CMS sẽ hiển thị một chân, vì vậy thiết lập chiều cao tới 1 triệu điểm ảnh không phải là một ý tưởng tốt
Tôi có thể truy cập vào DOM trang mẹ từ trang tham chiếu? Điều này có thể giúp đỡ, nhưng tôi có thể nhìn thấy một số người có thể không muốn điều này có thể ...
Kỹ thuật này dường như làm việc (gleaned từ nhiều nguồn khác nhau, nhưng lấy cảm hứng từ link từ câu trả lời được chấp nhận:
Trong tài liệu phụ huynh:
<iframe id="MyIFRAME" name="MyIFRAME"
src="http://localhost/child.html"
scrolling="auto" width="100%" frameborder="0">
no iframes supported...
</iframe>
Trong con:
<!-- ... -->
<body>
<script type="text/javascript">
function resizeIframe() {
var docHeight;
if (typeof document.height != 'undefined') {
docHeight = document.height;
}
else if (document.compatMode && document.compatMode != 'BackCompat') {
docHeight = document.documentElement.scrollHeight;
}
else if (document.body
&& typeof document.body.scrollHeight != 'undefined') {
docHeight = document.body.scrollHeight;
}
// magic number: suppress generation of scrollbars...
docHeight += 20;
parent.document.getElementById('MyIFRAME').style.height = docHeight + "px";
}
parent.document.getElementById('MyIFRAME').onload = resizeIframe;
parent.window.onresize = resizeIframe;
</script>
</body>
BTW: Điều này sẽ chỉ hoạt động nếu phụ huynh và trẻ em thuộc cùng một miền do hạn chế trong JavaScript vì lý do bảo mật ...
Không thể tin rằng liên kết này chỉ trả lời được chấp nhận và bỏ phiếu nhiều lần .. –