Rumah >hujung hadapan web >tutorial js >Menemui API Masa Pengguna - SitePoint

Menemui API Masa Pengguna - SitePoint

William Shakespeare
William Shakespeareasal
2025-02-22 09:45:11209semak imbas

Discovering the User Timing API - SitePoint

API Masa Pengguna: tepat mengukur prestasi aplikasi web

Artikel ini menyelidiki API Masa Pengguna, alat yang berkuasa untuk pemaju web untuk menilai dengan teliti prestasi aplikasi. Ia menyediakan cap waktu ketepatan tinggi, membolehkan pengukuran yang tepat dan pelaporan pelaksanaan kod JavaScript, terutamanya berguna untuk penandaarasan.

Pusat API sekitar dua konsep utama:

Marks dan langkah . Tanda menunjuk titik tertentu dalam masa, sementara ukuran mengira tempoh antara dua tanda. Empat kaedah boleh didapati: , mark(name), clearMarks([name]), dan measure(name[, mark1[, mark2]]). clearMeasures([name])

Keserasian penyemak imbas umumnya baik, dengan sokongan di seluruh desktop utama dan pelayar mudah alih (termasuk Internet Explorer 10, Chrome 25, dan Opera 15). Polyfill,

, boleh didapati untuk penyemak imbas yang tidak disokong. usertiming.js

API cemerlang dalam mengukur operasi tak segerak. Dengan meletakkan tanda pada permulaan dan akhir operasi, pemaju memperoleh data masa yang tepat, mengenal pasti kesesakan prestasi dan kawasan untuk pengoptimuman, akhirnya meningkatkan kelajuan aplikasi dan pengalaman pengguna.

Memahami tanda dan langkah

API pemasaan pengguna memanfaatkan antara muka

dan

(kedua -duanya memanjangkan PerformanceMark). Tanda menyimpan cap waktu, sementara ukuran mengira selang antara dua tanda. Setiap entri termasuk: PerformanceMeasure PerformanceEntry

    : Pengenalpastian deskriptif.
  • name
  • : Menunjukkan "tanda" atau "ukuran".
  • entryType
  • : timestamp (untuk tanda) atau timestamp Mark Start (untuk langkah -langkah).
  • startTime
  • : 0 untuk tanda; masa berlalu untuk langkah -langkah.
  • duration
kaedah API dan pengambilan data

API mendedahkan empat kaedah dalam objek

:

window.performance

    : mencipta timestamp dengan nama yang diberikan.
  • mark(name)
  • : menghilangkan tanda (semua atau yang spesifik).
  • clearMarks([name])
  • : mengukur masa antara dua tanda.
  • measure(name[, mark1[, mark2]])
  • : Mengeluarkan langkah (semua atau yang spesifik).
  • clearMeasures([name])
  • Nota: Nama bukan ID unik; Menggunakan nama yang sama berbilang kali menghasilkan pelbagai penyertaan yang disusun oleh
.

startTime Untuk mengakses data yang disimpan, gunakan

(untuk tanda atau langkah) dan

, kedua -dua susunan yang disusun kembali. getEntriesByType(type) getEntriesByName(name)

Contoh: mengukur masa pelaksanaan fungsi

<code class="language-javascript">performance.mark("startFoo");
foo(); // Time-consuming function
performance.mark("endFoo");
performance.measure("durationFoo", "startFoo", "endFoo");
performance.clearMarks();
performance.clearMeasure("durationFoo");</code>
sokongan penyemak imbas dan polyfills

API Masa Pengguna menikmati sokongan yang meluas. Walau bagaimanapun, usertiming.js menyediakan polyfill untuk penyemak imbas yang tidak mempunyai sokongan asli, yang hanya memerlukan kaedah resolusi tinggi API performance.now().

Demo dan kesimpulan

Demo (pautan yang ditinggalkan untuk keringkasan) mempamerkan fungsi API, termasuk pengendalian ralat untuk penyemak imbas yang tidak disokong dan memaparkan data yang diukur.

API Masa Pengguna adalah alat yang berharga untuk pengukuran prestasi yang tepat, menawarkan kawalan berbutir dan membantu dalam mengenal pasti kemunculan prestasi untuk pengalaman pengguna yang lebih lancar. Sokongan penyemak imbas yang luas dan polyfill yang tersedia memastikan kebolehgunaannya merentasi pelbagai platform.

Soalan Lazim (Soalan Lazim)

Seksyen Soalan Lazim masih tidak berubah, menawarkan jawapan ringkas kepada soalan umum mengenai fungsi, penggunaan, dan batasan API pengguna.

Atas ialah kandungan terperinci Menemui API Masa Pengguna - SitePoint. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn