2009-02-12 30 views
6

Tôi đang làm việc trên trang web có khung nội tuyến và tôi đang tải trang web bên ngoài trong khung nội tuyến. Các trang hoạt động tốt trong IE6, FF vv nhưng trong IE7 tất cả tôi thấy là một trang trống.Trang iframe của IE7

Tôi thấy rằng điều này là do bộ lọc lừa đảo trong IE7. Bộ lọc lừa đảo sẽ không thể kiểm tra trang web bên trong khung nội tuyến để nó sẽ không được hiển thị chính xác. Bạn đã từng gặp vấn đề này trước đây chưa? Làm thế nào tôi có thể giải quyết nó?

Chỉnh sửa: OK. Sau khi nhìn thấy hai câu trả lời đầu tiên, tôi nghĩ tôi nên giải thích thêm về điều này. Trang này dành cho xử lý thanh toán và tôi đang tải trang (của công ty bên thứ 3) yêu cầu cung cấp thông tin thẻ tín dụng. Ngay sau khi nhập chi tiết và nhấn tiếp tục iframe sẽ trống. Sau nhiều lần điều tra, chúng tôi thấy rằng IE7 không chấp nhận cookie của bên thứ ba (khi trang được tải trong khung nội tuyến). Đó là một cái gì đó để làm với các thiết lập bảo mật. Một số bài viết trên internet nói rằng tôi có thể bỏ qua bộ lọc lừa đảo. Tôi làm nó như thế nào?

Trả lời

4

Nếu bạn đang sử dụng ASP sau đó thêm mã này

Response.AddHeader "p3p", "CP=" & chr(34) & "CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR" & chr(34) 

trong tất cả các trang được nạp trong iframe

+10

Đừng sử dụng một cách mù quáng chuỗi P3P đã cho. Xác định chính sách bảo mật P3P của riêng bạn. Đọc http://www.p3ptoolbox.org/guide/ để biết chi tiết. – Anirvan

2

Bạn đã đặt thuộc tính IFRAME WIDTH chưa? Tôi đã đọc về điều này trước và trong những dịp đó đã làm với thuộc tính 'WIDTH'.

Vì vậy, thay vì sử dụng các thuộc tính WIDTH của IFRAME, bạn có thể sử dụng thuộc tính STYLE thay vì:

<IFRAME SRC='yourpage.html' STYLE='width:100%;'></IFRAME> 

[UPDATE]
Trong ví dụ trên, tôi đã sử dụng một -age% tuyên bố chiều rộng của IFRAME. Bạn có thể cố gắng khai báo nó theo pixel thay vì phần trăm, ví dụ:

<IFRAME SRC='yourpage.html' STYLE='width:600px;'></IFRAME> 

Sau đó, một lần nữa, đây không phải là vấn đề trong trường hợp của bạn, nhưng vui lòng cung cấp thêm thông tin.

+1

Như bây giờ tôi đọc trong startpost, nó có một cái gì đó để làm với cookie của bên thứ ba. Tôi sẽ để lại câu trả lời của tôi để tham khảo thêm ... – RuudKok

0

Có lẽ bạn đang sử dụng một thẻ tiêu đề như < TITLE/>

3

IE7 không chấp nhận cookie bên thứ 3 (khi trang được tải trong iframe).

Có thể thực hiện, tùy thuộc vào các tùy chọn được đặt. Đặc biệt nếu mức độ riêng tư đã được bật lên, bên thứ ba phải cung cấp một tệp chính sách P3P để đảm bảo rằng IE sẽ không bị nghịch ngợm. (Như một biện pháp riêng tư, đây là một phần của IMO mất mát chết, nhưng chúng tôi đang mắc kẹt với nó.)

Tôi đang tải trang (của bên thứ 3) yêu cầu thông tin thẻ tín dụng.

Whoah! Đừng làm thế. Người dùng sẽ không thể nhìn thấy từ thanh địa chỉ mà đó là URL trang web chính xác và được mã hóa chính xác bằng SSL. Bạn đang yêu cầu khách hàng tin tưởng một trang web và kết nối không xác định một cách hiệu quả.

Mất iframe. Hầu hết các bộ xử lý thanh toán sẽ có các tùy chọn để tạo kiểu cho các trang thanh toán của bạn để phù hợp với trang web của bạn và trả lại người dùng cho trang web của bạn khi chúng hoàn tất.

+0

Vâng tôi đồng ý !! Nhưng chúng tôi không có tùy chọn nào ngoài việc sử dụng iframe ngay bây giờ. Trang được thiết kế lại cho phù hợp với thiết kế của chúng tôi. Tôi đã thử thêm tiêu đề p3p và nó vẫn hiển thị thông báo bị chặn "cookie"! – Shoban

+0

Nó phải là bên thứ ba (bộ xử lý thanh toán) thêm chính sách P3P vào trang của riêng họ, tôi sợ. – bobince

1

Cuối cùng tôi đã tìm ra giải pháp cho việc này!

Nó có thể được giải quyết bằng cách thêm tiêu đề p3p vào trang web. Điều này cho trình duyệt biết rằng cookie được tạo bởi các trang trong khung nội tuyến là OK cho quyền riêng tư của người dùng. Tiêu đề phải được thêm vào tất cả các trang được tải trong khung nội tuyến.

Dưới đây là một số liên kết cho thấy cách thức này có thể đạt được bằng các ngôn ngữ kịch bản khác nhau (PHP, ASP.net, JSP, v.v.).

http://adamyoung.net/IE-Blocking-iFrame-Cookies

http://adamyoung.net/IE-Blocking-iFrame-Cookies

http://admon.org/node/99

Lưu ý: Tôi dint sử dụng giải pháp này vì lý do an ninh và tuân thủ. Cảm ơn bobince

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