2010-07-20 37 views

Trả lời

22

Không, không phải từ bên ngoài iframe. An là thế giới riêng của nó. Nếu các tên miền vv khớp nhau, thì Javascript có thể giao tiếp trong và ngoài, và có thể (nếu nó muốn) tiêm CSS vào một khung con.

Nếu chứa nội dung từ một miền khác, bạn không thể làm được gì nhiều. Trang gốc kiểm soát kích thước của khung và cho dù có hiển thị hay không và có thể đặt nội dung của riêng nó trên khung bằng cách định vị v.v. nhưng không thể trực tiếp ảnh hưởng đến cách hiển thị nội dung khung thực tế.

+0

cảm ơn rất nhiều! Điều gì sẽ xảy ra nếu tên miền giống hệt với trang lưu trữ? – RadiantHex

+1

Nếu bạn đang ở trên cùng một tên miền, thì Javascript từ trang gốc có thể gây rối với nội dung của khung. CSS trang gốc sẽ không ảnh hưởng đến trang khung, nhưng Javascript có thể thay đổi CSS hoặc thay đổi kiểu phần tử, v.v. – Pointy

+0

có cách nào để thực hiện việc này bằng cách sử dụng một số kỹ thuật mà mọi người đang nói .. nhúng một iframe con hoặc postMessage hoặc gì đó? http://pipwerks.com/2008/11/30/iframes-and-cross-domain-security-part-2/ http://johan.driessen.se/posts/resizing-cross-domain- iframe –

3

Nếu nó thuộc cùng một miền, bạn có thể can thiệp vào nội dung iframe bằng javascript như sau. giả sử id iframe là IframeId. Và bạn muốn thay đổi màu của phần tử có id "elementId".

$("iframe").load(function() { 
    var frameContents; 
    frameContents = $("#IframeId").contents(); 
    frameContents.find("#elementId").css("color","#fff"); 
}); 
Các vấn đề liên quan