JavaScript の 3 つの BOM オブジェクト

JavaScript の 3 つの BOM オブジェクト

window オブジェクトは、フォームの URL を取得または設定するための location プロパティを提供し、URL を解析するために使用できます。 このプロパティはオブジェクトを返すため、このプロパティを場所オブジェクトとも呼びます。

次に、詳しく見てみましょう。

1. 場所オブジェクト

1. URL

Uniform Resource Locator (URL) は、インターネット上の標準リソースのアドレスです。インターネット上のすべてのファイルには一意の URL があり、その URL には、ファイルの場所とブラウザがファイルに対して行う処理に関する情報が含まれています。

URL の一般的な構文は次のとおりです。

プロトコル://ホスト[:ポート]/パス/[?クエリ]#フラグメント
http://www.itcast.cn/index.html?name=andy&age=18#link

構成例示する
プロトコル一般的に使用される通信プロトコルは、http、ftp、maito などです。
ホストホスト(ドメイン名)
ポートポート番号はオプションです。省略した場合は、スキームのデフォルト ポートが使用されます。たとえば、http のデフォルト ポートは 80 です。
パスパスは、0 個以上の「/」記号で区切られた文字列で、通常はホスト上のディレクトリまたはファイルのアドレスを表すために使用されます。
クエリパラメータはキーと値のペアの形式で、&記号で区切られます。
断片フラグメント#の後のコンテンツは、リンクやアンカーでよく使用されます。

2. 場所オブジェクトのプロパティ

ここに画像の説明を挿入

これらのプロパティを使用して、アドレス バー内の対応する情報を取得できます。次に例を示します。

たとえば、csdn ホームページで、開発者ツール -> コンソールを開き、location と入力すると、location オブジェクトの多くのプロパティと戻り値が表示されます。

ここに画像の説明を挿入

または、対応する属性をコンソールに直接入力して、対応する戻り値を取得することもできます。

ここに画像の説明を挿入

たとえば、ボタンをクリックしてページにジャンプする効果を作成します。

<本文>
    <button>ジャンプ</button>
    <div></div>
    <スクリプト>
        var btn = document.querySelector('ボタン');
        var div = document.querySelector('div');
        var タイマー = 5;
        btn.addEventListener('click',function(){
           時間()
        })

       var time = setInterval(関数(){
            タイマーが0の場合
                this.location.href = 'https://www.baidu.com'
            }
           それ以外{
                div.innerHTML = 'ページは '+timer+' 秒後にジャンプします'
                タイマー - ;
           }
        },1000);
       
    </スクリプト>
</本文>

実行結果は次のとおりです。

ここに画像の説明を挿入

3. ロケーションオブジェクトのメソッド

ロケーションオブジェクトメソッド戻り値
場所の割り当て() hrefと同様に、ページ(リダイレクトページとも呼ばれます)にジャンプできます。
場所を置き換える()現在のページを置き換えます。履歴は記録されないため、前のページに戻ることはできません。
場所.reload()ページを再読み込みします。更新ボタンまたは F5 と同じです。パラメータが true の場合、強制的に更新します (ctrl+f5)

たとえば、location オブジェクト メソッドを使用してページにジャンプすることもできます。

 <button>クリックしてジャンプ</button>
    <スクリプト>
        var btn = document.querySelector('ボタン');
        btn.addEventListener('click',function(){
            location.assign('https://www.baidu.com')
        })
    </スクリプト>

ここに画像の説明を挿入

location.assign()メソッドによるジャンプでは 1 ページ戻ることができますが、location.replace() では履歴が記録されないため、1 ページ戻ることはできません。

2. ナビゲーターオブジェクト

ナビゲーター オブジェクトには、ブラウザーに関する情報が含まれています。このオブジェクトには多くのプロパティがありますが、最もよく使用されるのは userAgent です。これは、クライアントからサーバーに送信されたユーザー エージェント ヘッダーの値を返します。

if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
    window.location.href = ""; //携帯電話} else {
    window.location.href = ""; //コンピュータ}

3. 履歴オブジェクト

履歴オブジェクトメソッド効果
戻る()戻る機能
フォワード()転送機能
go(パラメータ)前進と後退機能パラメータが1の場合、1ページ前進します。-1の場合、1ページ戻ります。

たとえば、2 つのページがあり、1 つのボタンを使用して前後に移動する場合は、次に示すように、2 つのページのボタンにそれぞれ forward メソッドと history メソッドをバインドできます。

index.html

<本文>
    <a href="list.html">リストページへ移動</a>
    <button>進む</button>
    <スクリプト>
        var btn = document.querySelector('ボタン');
        btn.addEventListener('click',function(){
            履歴を転送する()
        })
    </スクリプト>
</本文>

list.html

<本文>
    <a href="index.html">メインページに戻る</a>
    <button>戻る</button>
    <スクリプト>
        var btn = document.querySelector('ボタン');
    btn.addEventListener('click',function(){
        履歴.戻る()
    })
    </スクリプト>
</本文>

効果は次のとおりです。

ここに画像の説明を挿入

あるいは、 history.go(1)を使用して前進し、 history.go(1)使用して戻ることもできます。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • JSブラウザBOMの一般的な操作例を詳しく解説
  • JavaScript BOM の説明
  • JavaScript における BOM と DOM の詳細な説明
  • JS での BOM アプリケーション
  • JavaScriptでBOM操作を学ぼう

<<:  小さなHTMLコードで、ページにBaiduの検索バーを追加できます。

>>:  浮遊要素によって引き起こされる問題と解決策の詳細な説明

推薦する

editplus の Zen コーディング例コードの説明

たとえば、次のように入力します。 XML/HTML コードdiv#ページ>(div#ヘッダー&...

MySQL テーブルスペースとは何ですか?

今日皆さんにお伝えしたいトピックは、「皆さんがよく話題にするテーブル スペースとは一体何でしょうか。...

Linux で SVN サーバーをインストールする方法

1. Yumのインストール yum でサブバージョンをインストール 2. 構成1. 倉庫を作る/ho...

HTML と CSS の基礎 (必読)

(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...

mysql5.7.20 のインストールと設定方法のグラフィック チュートリアル (mac)

MySQL 5.7.20のインストールと設定方法のグラフィックチュートリアルをあなたと共有します1...

mysql data_dirの変更によって発生するエラー問題を解決する

今日は、新しく購入した Alibaba Cloud ECS 環境 (Ubuntu 16.04 LTS...

MySQLクエリは、フィールドが数値とカンマではないことを指定します。

コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...

事例を通してLinux NFSの仕組みを詳細に分析

前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...

40 CSS/JSスタイルと機能的な技術処理

1-ドロップダウン選択ボックスのスタイル設定 - ドロップダウン リストを変更します。 2- <...

Excel エクスポートは docker 環境では常に失敗する

Excel のエクスポートは、docker 環境では常に失敗します。最も直接的な原因は、中国語フォン...

MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。

1. 概要MySQL データベースの日常的な操作とメンテナンスにおいて、ユーザーが誤ってデータを削...

バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...

Linux ファイルを分割するための split コマンドの詳細な説明

いくつかの簡単な Linux コマンドを使用すると、ストレージまたは電子メールの添付ファイルのサイズ...

vagrant+virtualBoxで仮想マシンを構築する方法

1. はじめにVagrant は、仮想マシン (VirtualBox) を構築および管理するためのツ...

ワンクリックで雨や雪のエフェクトを実現する ThingJS パーティクルエフェクト

目次1. パーティクルエフェクト2. シーンを読み込む3. さまざまな粒子効果の実現エンディング: ...