JavaScript - Web 開発の学習、ヘッド領域のスクリプトに関する疑問
漂亮男人
漂亮男人 2017-05-24 11:36:19
0
4
584

フロントエンドを独学で学ぶのが苦手な方は、同社のホームページを確認すると、ヘッド部分に次のコードがあります。 リーリー

疑問 1: ここでは短絡アルゴリズムが使用されていますが、後で何に使用されるのでしょうか?これは一般的に行われているのでしょうか?

疑問 2: このコードは、スクリプトの前に <script src='https://hm.baidu.com/hm.js?78...'> ステートメントを動的に追加することを意味します。しかし、なぜこれを行うのでしょうか?私はそれをテストし、このコードをヘッドに直接追加して同じ機能を実現しました。複数のページがある場合、このコードの各ページに追加する文字数は、関数の文字数よりも少なくなります。 。本当にわかりませんか? ?
教えてください、ありがとうございます!

漂亮男人
漂亮男人

全員に返信(4)
大家讲道理

私は同様の統計ライブラリを実装したので、このメカニズムについての私の個人的な理解を簡単に共有したいと思います。

リーリー

あなたの質問は、なぜhm.src 中的链接到 script 标签脚本中,而是先初始化 _hmt変数を直接追加してからスクリプトを追加しないのかということです。これは統計ライブラリの関数実装に関連するはずです。簡単な紹介:

  1. _hmt 本質的にはメッセージキューキャッシュです。この配列に挿入される内容は、クリック、スライド、タッチなどのあらゆる種類のユーザー イベントです。このメッセージ キューにプッシュされたイベントは、統計ライブラリによって Baidu Statistics に報告されます。

  2. このキャッシュは、ファーストパーティのビジネス コードでの JS API を介した書き込みをサポートします。たとえば、Baidu Statistics を使用する開発者は、独自の JS コードで _hmt.push(xxx) の形式でロジックを記述し、カスタム イベントをメッセージ キューにプッシュできます。

  3. サードパーティのスクリプトもメッセージ キューに書き込むことができるため、キューの配列変数がグローバルであるだけでなく、できるだけ早く初期化する必要があります。統計ライブラリへのレポートなどのビジネス ロジックは、実行前にページのメイン コンテンツが読み込まれるまで遅延する可能性があります。

  4. 3.の要件を達成するため、統計スクリプトの導入方法は【配列を初期化してから統計スクリプトを動的にロードする】という設計になっています。このようにして、キュー配列をロードするときにページ内で直接インライン初期化を行うことは非常に効率的であり、後続の統計スクリプトのロードが遅れるため、ページのロード速度への影響が軽減されます。

いいねを押す +0
给我你的怀抱

疑問2: これはBaiduの統計のはずです。 。 。

いいねを押す +0
黄舟

手順

1. _hmt 変数が定義されているかどうかを確認するか、変数を定義します

2. 動的読み込み。ノード操作の読み込み優先度 テスト

1.最初の行は自分で勉強できます

2. 2 行目では、2 つの読み込み効果を比較できます。

いいねを押す +0
Ty80

これはBaidu統計からのコードです
​​その理由については
「別のページを作成し、このJSコードのみを追加しました。ポップアップされるページのコンテンツは相談ウィンドウの内容です。」
だからです。クロスドメイン
クロスドメインとは何かというと
他人の物を自分の家に持ち帰る方法です

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!