Rumah > Soal Jawab > teks badan
Jika anda tidak pandai belajar front-end sendiri, semak halaman utama syarikat dan terdapat kod berikut di bahagian kepala:
<head>
......
......
<script>
//疑惑1
var _hmt = _hmt || [];
//疑惑2
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?788111edda8b56f4a6c2bdd403891d20"; //这个链接是百度的一些插件功能
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</head>
Ragu 1: Algoritma litar pintas digunakan di sini, untuk apa ia digunakan kemudian? Adakah ini dilakukan secara amnya?
Ragu 2: Kod bermaksud menambahkan <skrip src='https://hm.baidu.com/hm.js?78...'> Tetapi mengapa melakukan ini? Saya mengujinya dan menambah kod ini terus ke kepala untuk mencapai fungsi yang sama. Jika terdapat berbilang halaman, bilangan aksara yang saya tambahkan pada setiap halaman kod ini akan menjadi kurang daripada bilangan aksara dalam fungsi tersebut. . Betul tak faham? ?
Sila minta pakar untuk menjelaskan keraguan saya, terima kasih!
大家讲道理2017-05-24 11:38:19
Saya telah melaksanakan perpustakaan statistik yang serupa dan ingin berkongsi secara ringkas pemahaman peribadi saya tentang mekanisme ini.
<script>
// 这里如果已引入 _hmt 变量,则保留已有值
// 仅在未初始化成功的情况下将其初始化
// 避免后端模板拼接而成的页面中多处引入百度统计时,重复初始化变量的问题
var _hmt = _hmt || [];
// 疑惑2
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?788111edda8b56f4a6c2bdd403891d20";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
Soalan anda ialah, mengapa tidak menambah terus pautan dalam hm.src
pada skrip teg skrip, tetapi mula-mula mulakan pembolehubah _hmt
dan kemudian tambah skrip . Ini harus dikaitkan dengan pelaksanaan fungsi perpustakaan statistik. Pengenalan ringkas: hm.src
中的链接到 script 标签脚本中,而是先初始化 _hmt
变量后才添加该脚本。这应当是和统计库的功能实现有关的。简要介绍:
_hmt
实质是是一个消息队列的缓存。插入该数组的内容均是各类点击、滑动、触摸等用户事件。推入这个消息队列中的事件会被统计库上报到百度统计。
这个缓存是支持在第一方业务代码中通过 JS API 来写入的。例如使用百度统计的开发者,可以在自己的 JS 代码中编写形如 _hmt.push(xxx)
_hmt
pada asasnya ialah cache baris gilir mesej. Kandungan yang dimasukkan ke dalam tatasusunan ini adalah semua jenis acara pengguna seperti klik, slaid, sentuhan, dsb. Peristiwa yang dimasukkan ke dalam baris gilir mesej ini akan dilaporkan kepada Baidu Statistics oleh pustaka statistik.
_hmt.push(xxx)
dalam kod JS mereka sendiri untuk menolak acara tersuai ke baris gilir mesej.
黄舟2017-05-24 11:38:19
1 Tentukan sama ada pembolehubah _hmt telah ditakrifkan, atau takrifkan pembolehubah
2. Keutamaan operasi nod memuatkan sumber statik ini supaya tidak menjejaskan halaman pemaparan
1. Anda boleh belajar sendiri baris pertama
2 Dalam baris kedua, anda boleh membandingkan dua kesan pemuatan.
PHP中文网2017-05-24 11:38:19
Ini adalah sekeping kod statistik Baidu,
As for why
"Saya membuat halaman berasingan dan hanya menambah kod JS ini. Kandungan halaman pop timbul ialah tetingkap perundingan. " #🎜🎜 #Kerana ia merentas domain
Apa itu merentas domain
Ia adalah satu cara untuk membawa barang orang lain ke rumah anda sendiri