Tôi đang tìm kiếm một cái gì đó tương tự như jQuery image lazy load plugin, nhưng đối với iframe
s.iframe tải chậm (trì hoãn src http gọi) với jquery
Trả lời
Điều này phù hợp với tôi.
var iframes = $('iframe');
$('button').click(function() {
iframes.attr('src', function() {
return $(this).data('src');
});
});
iframes.attr('data-src', function() {
var src = $(this).attr('src');
$(this).removeAttr('src');
return src;
});
Vì vậy, nếu 'src' được mã hóa cứng trong html của DOM, hãy thay đổi chúng thành' data-src' sau đó theo yêu cầu, hãy thay đổi nó thành 'src' để tải nội dung? Ngoài ra, sự kiện của tôi không dựa trên cuộn, mà đúng hơn là nhấn vào ': target' chứa' div'. – Steve
@Max Bạn đã hiểu. – alex
Giải thích về Downvote? – alex
Bạn luôn có thể intialize thuộc tính src thành about: blank và sau đó khi sự kiện nhấp của bạn kích hoạt, hãy đặt thuộc tính src cho URL bạn muốn điều hướng đến.
iframe 'src' được mã hóa cứng trong HTML của DOM và không muốn thực hiện quá nhiều thao tác DOM bằng cách thay thế nó bằng about: blank và sau đó thay thế nó bằng URL (cần được lưu trữ dưới dạng một biến số). – Steve
Bạn có thể đặt src thành about: blank không? Như thế này?
'iframe' được nhúng vào HTML của trang và được tải khi tải trang, trong khi ví dụ của bạn tải' iframe' onClick. Điều này không làm việc trong trường hợp của tôi. – Steve
Một similar question gần đây đã được đăng tải cụ thể để khung nội tuyến với các tab Twitter Bootstrap dựa trên, mà tôi answered sử dụng một kỹ thuật gọi tôi Lazy Loading of iFrames. Js/jquery như sau; xem mã đầy đủ bao gồm đánh dấu html trong fiddle hoặc trên phản ứng của tôi vào OP:
<script>
$('#myTabs').bind('show', function(e) {
// identify the tab-pane
paneID = $(e.target).attr('href');
// get the value of the custom data attribute to use as the iframe source
src = $(paneID).attr('data-src');
//if the iframe on the selected tab-pane hasn't been loaded yet...
if($(paneID+" iframe").attr("src")=="")
{
// update the iframe src attribute using the custom data-attribute value
$(paneID+" iframe").attr("src",src);
}
});
</script>
Nếu bạn muốn làm điều này trong WordPress
Dưới đây là một số tự động, yêu cầu giảm, giải pháp
Trong biểu mẫu plugin WordPress
Đây là plugin WordPress bạn có thể tải xuống và cài đặt thủ công qua kho lưu trữ plugin WordPress. Tôi tạo ra điều này ngày hôm nay chỉ để xử lý tình trạng này. Không cần thay đổi nội dung, thao tác này sẽ tự động hoạt động sau khi được kích hoạt trên bất kỳ và tất cả iframe.
- 1. Trì hoãn với jQuery - khi() với hàm getJSON() gọi lại
- 2. kích hoạt một sự kiện hover trì hoãn với Jquery
- 3. Trì hoãn việc tải JavaScript
- 4. Subversion không thể trì hoãn chậm trên Windows 7
- 5. Twitter Bootstrap Carousel trì hoãn plugin khi tải trang
- 6. Jquery trì hoãn sau khi Bấm
- 7. SetTimeout không trì hoãn cuộc gọi hàm
- 8. SQLAlchemy.declarative và trì hoãn cột tải
- 9. Cuộc gọi bị trì hoãn, với khả năng hủy?
- 10. jQuery .delay() không trì hoãn hàm .html()
- 11. Java Trì hoãn/Chờ
- 12. Sử dụng fb.api gọi với jquery hoãn
- 13. Ruby, công việc bị trì hoãn, chậm: Backend: ActiveRecord
- 14. CAKeyFrameHãy trì hoãn sự chậm trễ trước khi lặp lại
- 15. trì hoãn các hành động giữa nhấn phím trong jQuery
- 16. Mojolicious và trì hoãn WebSocket
- 17. mysql trì hoãn chèn timestamp
- 18. Làm thế nào để trì hoãn Jquery UIBlock Plugin?
- 19. Việc tải các mô-đun bị trì hoãn trong python
- 20. jQuery Force đặt thuộc tính src cho iframe
- 21. Trì hoãn khởi động trễ
- 22. Tiềm năng trì hoãn UDP
- 23. Thay đổi iframe với jquery
- 24. Ajax Tải lại iframe
- 25. libcurl trì hoãn trong 1 giây trước khi tải lên dữ liệu, dòng lệnh curl không
- 26. MPMoviePlayerController trì hoãn thường xuyên
- 27. Các cuộc gọi chức năng bị trì hoãn
- 28. Làm thế nào để trì hoãn .trigger ('click') với lớp phủ từ công cụ jquery
- 29. Tải hình ảnh chậm trễ với jQuery
- 30. Làm cho jQuery hoãn lại/Promises và AngularJS $ q Trì hoãn/Hứa hẹn tương thích
đặt cược tốt nhất là chỉ cần không thêm các iframe vào DOM cho đến khi bạn muốn tải nó, không có cơ hội nhầm lẫn rồi ... – DaveRandom
Iframe được cứng mã hóa vào DOM. Tôi không có tùy chọn để chèn chúng theo cách thủ công, nếu không thì đây sẽ là tuyến đường dễ nhất. – Steve