2010-04-19 40 views
10

Tôi có một IFRAME phải được điền bằng nội dung từ JavaScript. Đã được nội dung trên máy chủ tất cả những gì phải làm là:Điền IFRAME với nội dung động từ JavaScript

function onIFrameFill() { 
     myIframe.location.href = "HelloWorld.html"; 
    } 

Nhưng nội dung tôi có là một trang HTML được tạo trên máy khách và thể hiện dưới dạng một chuỗi (Tôi có ảnh hưởng không nhiều vào nó). Làm thế nào tôi có thể điền nội dung của iframe của tôi theo cách lập trình?

Trả lời

21

Tôi nghĩ rằng bạn đang tìm kiếm cái gì đó như:

var iframeDoc = myIframe.contentWindow.document; 
iframeDoc.open(); 
iframeDoc.write('hello world'); 
iframeDoc.close(); 
+1

Đối với tôi trong phiên bản Chrome 41.0.2272.76 m nếu bạn không mở() iframeDoc trước, sau đó nó sẽ * nối thêm * văn bản; nếu bạn mở() nó sẽ xóa iframeDoc và * ghi đè * văn bản. Bạn có thể viết ('bold') và HTML sẽ được hiểu là thẻ. –

+0

Đọc thêm tại http://stackoverflow.com/a/10433550/1532274 –

0

gì về .innerHTML?

myIframe.innerHTML = "This is some HTML <b>text</b>"; 
+0

Tôi đã thử điều đó nhưng nó không hoạt động. – user256890

4

Cài đặt cố gắng .innerHTML nhưng không hoạt động. Giải pháp của Jeffery To hoạt động. Chỉ muốn nói thêm rằng myIframe.contentWindow có thể không hoạt động trong các trình duyệt cũ (đọc IE phiên bản cũ), do đó bạn có thể làm

var iFrameWindow = myIframe.contentWindow || myIframe.documentWindow; 
var iFrameDoc = iFrameWindow.document; 

sau đó sử dụng các tài liệu mở(), viết() & close() như trên.

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