적절한 지연로드는 일반적으로 객체와 프록시 패턴을 사용해야한다는 것을 알고 있습니다. 나는 사이트가 약간의 재 설계를 필요로하기 때문에 아직 거기에 없다. 그러나, 내가 DB 데이터를 페이지에 스풀링하고 약간의 로딩 속도를 향상시킬 수있는 방법이 있습니까?PHP 페이지의 데이터베이스에서 "Lazyloading"정보를 절차로 표시합니다.
답변
이것은 AJAX로 달성 할 수 있습니다.
페이지를 처음로드 할 때 무거운 내용이있는 위치에 자리 표시자를 넣으십시오. 예를 들어 div
에는 독특한 스타일과 애니메이션 이미지가 포함되어있어 방문자가 더 많은로드가 진행되고 있음을 명확하게 알릴 수 있습니다. ajaxload.info에서 친숙한 AJAX 로딩 이미지를 생성 할 수 있습니다.
페이지 하단에 AJAX를 사용하여 추가 콘텐츠를로드하는 데 필요한 함수를 호출하거나 바인딩하는 스크립트가 있습니다. 예를 들어, AJAX 호출을 jQuery의 .ready()
에 바인딩하여 문서의 나머지 부분이 준비되는 즉시로드를 시작하거나 사용자가 특정 요소를 스크롤 할 때 .scroll()
을 시작할 수 있습니다 (예 : 페이지에서 특정 '랜드 마크'를 지나치는 경우 콘텐츠 블록).
당신이 (바람직하게는 문자열 형태로 HTML로 미리 포맷) 추가 컨텐츠는 AJAX .innerHTML =
를 사용하여 응답 또는 jQuery의 .html()
으로 자리 div
의 내용을 대체 들어있는 AJAX 응답을받을
setAttribute("class","newClass")
또는 jQuery의
.attr("class","value")
을 사용하여
div
의 스타일을 CSS 클래스로 바꿉니다.
방문자는로드하는 동안 전체 페이지를보고 스크롤 할 수 있습니다. 추가 콘텐츠는 방문자의 탐색 경험을 방해하지 않고 준비가되면 나타납니다. 콘텐츠 삽입 후 전환 효과를 적용하여 눈을 약간 더 멋지게 만들 수 있습니다. 콘텐츠를 가져 오기 위해 AJAX를 사용하는 방법에 대한 몇 가지 추가 예제가 필요한 경우
비동기 고전 자바 스크립트 접근 또는 jQuery .ajax() docs에 대한 these를 보라.
JavaScript를 사용하면 기본 페이지가로드되는 즉시 추가 데이터를로드 할 수 있습니다. 이렇게하면 기본 페이지에서 페이지의 구성 요소를 요약하고 더 많은 데이터가로드되고 있음을 나타내는 "회 전자"를 표시 한 다음 자바 스크립트로로드하여 더 많은 데이터를 얻을 수 있습니다.
- 1. 데이터베이스에서 사용자의 레코드를 표시합니다.
- 2. 절차로 만드는 방법은 무엇입니까?
- 3. 다른 웹 페이지의 뉴스를 표시합니다.
- 4. PHP 페이지의 메뉴 표시
- 5. sqlite 데이터베이스에서 android app에 특수 문자를 표시합니다.
- 6. Django 디버그는 페이지의 모든 변수를 표시합니다.
- 7. 데이터베이스에서 PHP 처리하기
- 8. ASP.NET (3.5) 웹 페이지의 데이터베이스에서 이미지 표시
- 9. 새 페이지의 데이터베이스에서 행의 PDF를 만듭니다.
- 10. php echo substr을 firefox에 표시합니다.
- 11. 페이지 요소를 선택 가능하게 표시합니다. (HTML/PHP)
- 12. php/ajax를 사용하여 준 실시간 데이터를 표시합니다.
- 13. mysql 데이터베이스에서 불필요한 데이터 가져 오기 ??? (PHP)
- 14. 웹 페이지의 Php 제출 버튼
- 15. ColdFusion 페이지의 프레임에서 PHP 사용
- 16. PHP 기반 웹 페이지의 광고
- 17. php file_put_contents() 페이지의 특정 ID
- 18. 방법 C#에서 dataviewgrid 제어 데이터베이스에서 몇 개의 레코드를 표시합니다?
- 19. 새 페이지 안에 웹 페이지의 특정 div를 표시합니다.
- 20. xml 파일 내용을 PHP 내에 표시합니다.
- 21. PHP fgetcsv() 처음 5 행을 표시합니다.
- 22. 당일 이벤트를 함께 표시합니다. (PHP/MYSQL)
- 23. 쿼리 된 ID + 행만 표시합니다. PHP/MySQL
- 24. 쿠키 값을 같은 페이지에 표시합니다. php-cookies
- 25. php date() 함수가 잘못된 시간을 표시합니다.
- 26. 여러 작업에 대해 하나의 절차를 사용해야합니까 아니면 여러 절차로 나눠야합니까?
- 27. MySQL 데이터베이스에서 PHP 세션을 저장하는 방법
- 28. 데이터베이스에서 데이터를 정렬하여 차트에 사용합니다. PHP
- 29. PHP 표현식을 만들고 데이터베이스에서 실행하는 방법은 무엇입니까?
- 30. PHP : * strange * MySQL 데이터베이스에서 데이터 가져 오기
JS를 사용하고 "스피너 (spinner)"를 표시하면 db에 부하가 분산되고 James가 요청한 게으른로드를 수행하는 방법을 알 수 없습니다. –
글쎄, 처음에는 js를 사용하여 페이지가 더 빠르게로드된다는 사실을 알 수 있다고 생각 했었습니다 (알지 못하는 사용자는 거의 알지 못합니다). 누구든지 이것을 달성하기 위해 아약스/jQuery를 사용하는 링크가 있다면 공유하십시오. 자, 실제로 페칭을하는 것이 가능하다면 (아약스에서도 가능할 수도 있습니다), 또한 흥미가 있습니다. –
당신이 할 수있는 일은 페이지가 더 빨리로드되고 있다는 것입니다. – Lawyerson