2011-08-24 63 views
6

Tôi muốn hiển thị nội dung của trang trong trang web của tôi bằng iframe, nhưng tôi muốn "cắt" phần đầu trang (trên cùng) của trang, bỏ thanh điều hướng của trang người dùng chỉ có thể xem nội dung bên dưới nó.Cắt bỏ một số nội dung src của iframe

Code:

<div id="content"> 
    <div style="height:800px;"> 
     <iframe id="optomaFeed" src="http://www.optomausa.com/company/press-releases/" scrolling="auto" 
      frameborder="0" height="100%" width="100%"></iframe> 
    </div> 
</div> 

một số cách tôi có thể đi về việc này là gì? Tyvm ~

+0

http://stackoverflow.com/questions/5676672/how-do-i-crop-the-contents-of-an- iframe-to-show-a-part-of-a-trang Câu trả lời bạn đang hy vọng là – pashute

Trả lời

13

tôi đã tìm ra cách để làm điều đó bằng css clip thuộc tính:

<div id="content"> 
    <div style="height:800px;"> 
     <iframe id="optomaFeed" src="http://www.optomausa.com/company/press-releases/" scrolling="no" 
      frameborder="0" height="100%" width="100%" style="position:absolute; clip:rect(190px,1100px,800px,250px); 
      top:-160px; left:-160px;"></iframe> 
    </div> 
</div> 
+1

Điều này dường như hoạt động tốt ở đầu và cuối trang, nhưng nó không có chiều rộng khi tôi đổi kích thước cửa sổ trình duyệt ... (FYI Tôi đang thử nghiệm trong IE8 để tôi có thể xem 70% + của thế giới sẽ thấy) – DaveRandom

+0

Chắc chắn, tôi đã không cố gắng thay đổi kích thước cửa sổ, và tôi đang làm nó trong FF ngay bây giờ .. Nó không hiển thị ngay trong IE, vì vậy tôi có một số điều chỉnh để thực hiện. Đi đúng hướng mặc dù :) Cảm ơn bạn đã nhập –

+0

Clip nào giúp bạn đạt được tiêu cực không? – httpete

0

Nếu vùng chứa thanh điều hướng có số id, bạn có thể tham chiếu đến nó trong javascript, sau đó gọi parentNode.removeChild() trên đó. Điều này có nghĩa là thanh điều hướng có thể sẽ nhấp nháy trong giây lát mỗi lần trang được thay đổi trong khung nội tuyến.

Hoặc, bạn có thể chuyển tải khung nội tuyến thông qua tập lệnh phía máy chủ để tải nó, loại bỏ HTML cho thanh điều hướng, sau đó xuất kết quả. Điều này có thể làm chậm sự tương tác của người dùng với trang, vì nó có nghĩa là mọi thứ có hiệu quả cần tải hai lần. Nếu bạn đang đi để có cách tiếp cận này, bạn có lẽ sẽ cần phải thêm một thẻ <base> vì vậy bạn không phá vỡ CSS/JS.

+0

Tôi đang cố gắng đề xuất lần đầu tiên. Tôi đã hy vọng cho một giải pháp đơn giản hơn. Một cái gì đó giống như cắt chính iframe bằng cách sử dụng divs và styles hoặc một cái gì đó –

+0

@Shredder Tôi không thể nghĩ ra bất kỳ cách thực tế nào để làm điều đó mà không có thanh cuộn đảm bảo trang ở đúng vị trí trong khung mà bạn không thể thấy điều hướng nhưng bạn có thể xem nội dung bạn muốn. Tôi vừa thử ý tưởng đầu tiên và nó không hoạt động vì trình duyệt vô hiệu hóa quyền truy cập vào 'contentWindow.document' khi trang trong khung nội tuyến không được tải từ miền của bạn. Không có công việc xung quanh mà tôi có thể nghĩ/tìm. Lựa chọn duy nhất là một kịch bản proxy tôi nghĩ ... – DaveRandom

+1

Tôi đã tìm ra nó <_ <; kiểm tra câu trả lời của tôi –

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