01/10/2018, 10:14

Ép thời gian tải trang trong Javascript

Để dễ hình dung thì e dùng mấy trang chụp screenshoot chẳng hạn (https://web-capture.net/) Đoạn js của trang nó chạy 5s mới xong, capture 2s đã xong rồi. Bây giờ e muốn ép trang tải trong 5s để hiển thị đúng nội dung thì phải làm như thế nào ạ ? bác nào biết chỉ e với hoặc cho e keywork. tks al

Vô Thin viết 12:30 ngày 01/10/2018

Không hiểu nói gì luôn. Ép thế nào được mà ép, nó phải có thời gian xử lý những thứ phức tạp chứ, một bài toán giải phương trình bậc 2, bạn có giỏi cỡ gì cũng làm sao giải nhanh hơn việc người khác làm bài toàn 1 + 1?

Storm viết 12:30 ngày 01/10/2018

Kiểu làm trang chậm đi ấy bác, chứ có phải ép nó nhanh hơn đâu. ý e là chỉ cần capture đầy đủ nội dung là được, vì nếu load nhanh quá thì capture sẽ bị thiếu

Vô Thin viết 12:23 ngày 01/10/2018

Càng không hiểu bạn nói gì luôn. Theo mình là có lẽ bạn capture một trang web và nó không được hoàn chỉnh giống như khi xem trên trình duyệt. Do đó, hãy tìm công cụ chụp ảnh trang web khác để dùng, chứ không có cách nào buộc công cụ đó phải chụp tốt hơn được, vì giờ kỹ thuật làm web có nhiều kiểu khác nhau, phần mềm chụp khó mà chụp tốt được hết.

Storm viết 12:16 ngày 01/10/2018

Cái capture chỉ là minh họa cho dễ hiểu thôi mà bác Cái e muốn là dùng javascript để pause lại quá trình load trang.
vd index.html của e đang trắng tinh, e dùng js để thêm vào đó 1 triệu cái thẻ <div>. sau khi thêm xong thì mới trả về trạng thái web đã load xong (code 200) đó bác. mà e cũng ko rõ js có làm được cái này ko nữa

Vô Thin viết 12:24 ngày 01/10/2018

Trời, làm chi cho thêm DIV chi cho nó nặng dữ vậy chứ. Có hàm làm việc đó mà:

setInterval(function(){ alert("Đợi 10 giây rồi đọc được dòng này"); }, 10000);

Tra cứu thêm về setInterval và clearInterval là giải quyết được yêu cầu của bạn.

Storm viết 12:28 ngày 01/10/2018

Cái này ko phải bác ơi, khó giải thích quá, search thì cũng ko biết key

Đào An viết 12:27 ngày 01/10/2018

e dùng js để thêm vào đó 1 triệu cái thẻ <div>. sau khi thêm xong thì mới trả về trạng thái web đã load xong (code 200) đó bác

ko thấy sự liên quan giữa status code 200 và add html, cứ lấy trang nào có cách load gần giống mà mô tả nhé

chắc là giống kiểu này thôi https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_ajaxcomplete

Vô Thin viết 12:30 ngày 01/10/2018

Trang web load xuống là do đường truyền và trình duyệt người dùng, bạn không có cách nào làm cho quá trình đó chậm lại ngoài cách bạn đặt hosting trên một server chậm, đặt tại data center có đường truyền chậm.

Do đó, mình đoán bạn muốn trang web vẫn load nhanh nhưng bạn muốn nó chậm hiển thị lên cho người dùng xem, đại loại là hiển thị từ từ từng chút một cho đến khi xong nội dung hoặc cứ để trắng với một biểu tượng đếm ngược hay xoay xoay gì đó hoặc trắng trơn, sau N giây thì mới hiển thị. Cách đó vẫn dùng JavaScript với hàm setInterval như trên, nội dung thì dùng kỹ thuật Ajax load về, cất đó, khi setInterval đạt đến thời gian thì show ra.

Bài liên quan
0