Trước hết, iframe và jsonp không loại trừ lẫn nhau: một là phương tiện hiển thị, phương tiện kia là phương tiện giao tiếp.
Lựa chọn của bạn khá phù hợp giữa việc đưa vào tài liệu (tạo tiện ích trong DOM máy chủ) hoặc đưa vào iframe (có DOM mới, riêng biệt cho tiện ích con).
Lợi thế của khung nội tuyến là hộp cát: không có sự va chạm giữa tiện ích của bạn và javascript và css của máy chủ. Điều đó có nghĩa bạn có thể một cách an toàn:
- sử dụng/xác định bất kỳ thư viện javascript bạn muốn
- sử dụng đơn giản mã html cùng với quy tắc css đơn giản (đó là một phần thưởng rõ ràng để bảo trì)
Đối với nhược điểm:
- một iframe là nặng trọng lượng và nghiêm túc có thể làm chậm trang chủ render
- các iframe sẽ còn khuyết điểm ume nhiều bộ nhớ và tài nguyên hơn, có thể là vấn đề nếu trang chủ được nhắm mục tiêu theo số điện thoại di động
Vì vậy, nếu hợp lý để giả sử những người sử dụng tiện ích của bạn sẽ sẵn sàng "điều chỉnh" trang của họ cho nó, đi theo cách tài liệu. Nếu không, hãy sử dụng iframe nhưng hiểu các giới hạn.
Đối với các vấn đề về SEO, miễn là bạn tự động tạo tiện ích (cho dù đó là tài liệu hoặc với khung nội tuyến), công cụ tìm kiếm sẽ không nhìn thấy nó. Tôi không biết nếu đó là những gì bạn muốn, nhưng đó là những gì bạn sẽ nhận được;)
Nguồn
2010-07-12 00:57:52
Theo như hiệu suất, khung nội tuyến không nhất thiết cung cấp thêm chi phí tải hơn JSONp (và trên thực tế, nhiều chi phí cung cấp ít chi phí). Khung nội tuyến có thể tải không đồng bộ, trong khi tiện ích con do JSONp điều khiển có thể yêu cầu trang tải đầy đủ và sau đó thêm tham chiếu vào tài nguyên bên ngoài, mở rộng tải trang. – mattbasta
Tôi đã làm việc với rất nhiều nhà cung cấp quảng cáo và tôi có thể đảm bảo với bạn rằng giải pháp liên quan đến iframe là kẻ giết người thực hiện. Có một sự khác biệt giữa thời gian nó sẽ đưa các widget để tải (ví dụ nếu nó cần tài liệu để sẵn sàng) và thời gian nó sẽ đưa cho trang chủ để render và có thể sử dụng được. Nếu những gì bạn ngụ ý về JSONP là đúng, thì không ai có thể tư vấn tải kịch bản động như một giải pháp để hiển thị trang nhanh. –