検索
ホームページウェブフロントエンドjsチュートリアルJavaScriptを使用した役立つハイパーリンク

JavaScriptを使用した役立つハイパーリンク

そこにあなたは喜んでウェブサイトをサーフィンしています。リンクをクリックして、突然ファイルをダウンロードするように求められている別のサイトにいることに気付きます。そこで何が起こったのですか?迷惑ですね。リンクがどこに向かっているのか、どのタイプのファイルに訪問者に示すためのより良い方法が必要です。したがって、このちょっとした迷惑を解決するために、私はリンクの後にかなり小さなアイコンを追加するJavaScriptとCSSを、ファイルの拡張機能と場所に応じて、ユーザーにロードしようとしているドキュメントのタイプを示すように書きました。

JavaScriptを使用した役立つハイパーリンク

こちらからコードをダウンロードして、例を参照してください。

キーテイクアウト

    この記事は、ハイパーリンクの横にアイコンを追加するJavaScriptおよびCSSソリューションを提供します。リンクが導くファイルのタイプを示します。リンクが外部サイトにつながる場合。このソリューションは、明確な視覚的な手がかりを提供することにより、ユーザーエクスペリエンスを向上させることを目的としています。
  • ソリューションは、シンプルで使いやすく、IE6を含むすべての最新のブラウザーと互換性があるように設計されています。 CSSまたはJavaScriptが無効になっていると優雅に劣化し、1つのJavaScriptファイルと1つのCSSファイルにファイルの使用を制限します。
  • ソリューションには、JavaScriptファイル(ikonize.js)とCSSファイル(ikonize.css)の作成が含まれます。 JavaScriptファイルは、各ハイパーリンクのファイル拡張子を決定し、適切なCSSクラスとアイコンを追加します。 CSSファイルには、アイコンクラスが含まれています
  • ソリューションには制限があります。クエリ文字列ベースのナビゲーションリンクを認識しておらず、リンクにはアイコンが割り当てられるためのファイル拡張子が必要です(外部サイトでない限り)。 CSSが無効になっている場合、外部リンクアイコンのみが表示され、JavaScriptが無効になっている場合、ページに目に見える変更はありません。
  • brief
  • この機能を作成する際の主な考慮事項は、
  • でした
シンプルさ - 使いやすい

優雅な劣化 - CSSまたは/およびJavaScriptが無効になっている場合

  1. ファイルの最小限の使用 - 1つのJavaScriptと1つのCSSファイルのみ

  2. プラグアンドプレイをできるだけプラグアンドプレイします。これをサイトにすばやく追加できますコード全体の量を制限する
  3. IE6

  4. を含むすべての最新のブラウザとの互換性
  5. なぜCSSのみのソリューションから離れるのか?
  6. 属性セレクターを使用して、既にこれをCSSで実行できます。例を次に示します:

  7. では、ほとんどの最新のブラウザがCSSのみを使用してアイコンを表示するのに、なぜスクリプトでそれを行うのですか?
  8. 答えは簡単です:IE6。すべての適切なブラウザは、IE6を除くCSS3属性セレクターをサポートしています。 CSSを使用したこの少しのスクリプトは、IE6がうまく再生されるようになります。実際、IE5.5。
    でも機能します
    インスピレーションとクレジット

    始める前に、この記事で使用するFamfamfamのMark Jamesによる優れた、無料のシルクのアイコンを認めたいと思います。

    JavaScriptを使用した役立つハイパーリンク また、クレジットが期限を迎えるクレジット:この記事は、Alexander KaiserのCSSを使用したTextLinkを象徴する作品に触発されました。さらに、SetePointの非常に独自のJames Edwardsによって書かれたいくつかの優れた機能を使用し、Kevin YankとCameron Adamsによって書かれ、SitePoint Book、Simply Javascriptに不死化されたコアJavaScriptライブラリからさらにいくつか撮影しました。

    では、どのように機能しますか?

    まあ、一言で言えば、ページ内のすべてのリンクを取り、リンクするファイル拡張子を作成し、リンクの後に適切なアイコンを追加します。ニース。
    すべてが機能するようにするには、3つのファイルが関係しています。

    リンクを含むHTMLページ、index.html

      アイコンクラスを含むcssファイル、ikonize.css

    1. cssクラスとアイコンをリンクに追加するJavaScriptファイル、ikonize.js

    2. クイックスタートメソッド
    3. さあ、理由と場所を避けたいなら、それをページに追加したい場合は、短いバージョンを次に示します。

    ページのヘッダー内のJavaScriptおよびCSSファイルへのリンクを追加します(サイトのセットアップに合わせてファイル参照を変更します)。


      アイコンフォルダーをサイトに掲載し、URL参照がikonize.cssファイルで正しいことを確認してください。
    1. JavaScript関数を呼び出してください。閉じるボディタグの直前に含まれるスクリプトタグからikonize:


    2. 参照 - 使いやすいと言った!

    3. 簡単にするために、DOMがロードされた後、HTML内から関数を呼び出すことを選択しました。 JavaScriptを使用してこれを達成する他の方法がありますが、これらはこの記事の範囲を超えています。

    4. 完全な説明

    5. 自分を快適にしてください、私たちは内部の仕組みを掘り下げます。

    構成

    物事をシンプルに保つ精神で、セットアップのほとんどはすでにあなたのために行われています。アイコンを変更したり、拡張機能をファイルしたりする必要がある場合にのみ、構成を変更する必要があります。これらの変更を行うには、JavaScript(ikonize.js)とCSSファイル(ikonize.css)の2つの場所があります。

    ikonize.js
    を構成します ファイルの上部には、すべての構成変数が表示されます:ClassPrefix、Classexternal、およびClassicOnloc。

    どのリンクがアイコンを受信しますか?

    リンクがどのタイプのファイルを使用するかを定義するには、ファイル拡張子を確認します。ファイルタイプは、2つのグループに分割されます。Torrentファイルなどの一意のアイコンと同じアイコンを共有するものですが、Flashファイル(.flaおよび.swf)などのファイル拡張機能が異なります。 同じアイコンを共有するファイル拡張機能のグループ化により、数百のCSSクラスとアイコンがあることが保存されます。これを達成するために、2つの配列を作成しました

    最初の配列である個々のクラッサレイは、個々のアイコンを含むすべてのリンクのファイル拡張機能を保持します。 CSSクラス名のベースは、ファイル拡張子と同じです。つまり、テキストファイルは「TXT」で参照され、CSSクラス名はclassPrefix(以前に設定)で、「TXT」はベースCSSクラス名です。

    2番目の配列であるClassArrayは、実際には多次元配列ですが、それを延期させないでください。基本的に、使用したいアイコンの種類に従ってグループ化された個々の配列のグループです。このアレイの最初のアイテムは、個別のクラッサレイです(この配列は常に最初の配列でなければなりません)。次の配列は、1つの重要な違いを持つ以前の配列に似ています。各配列の最初のアイテムは、使用されるCSSクラスの名前であり、次のアイテムはそのクラスが必要なファイル拡張子です。次の例では、.swfおよび.flaファイル拡張機能は、「フラッシュ」CSSクラスに関連付けられます。

    注:ファイル拡張子はドットを除外します。つまり、xlsではありません。
    a[href$='.doc'] { <br>
      display: inline-block; <br>
      padding-left: 16px; <br>
      background: transparent url(images/icon_doc.gif) center right no-repeat; <br>
    }
    最大限の移植性のために、使用される実際のCSSクラス名には、以前に構成した「ikon_」などのプレフィックスがありますが、これらの配列では、常に

    プレフィックスを除外します。 したがって、フラッシュCSSクラスは、「ikon_flash」ではなく常に「フラッシュ」と呼ばれます。

    外部リンク
    classPrefix is the prefix you want to give the individual CSS classes. Use this to prevent any conflicts with any existing CSS classes. The default is iKon_.

    リンクが外部サイトであるかどうかを把握するには、現在のページのホスト名を知る必要があります。

    このためには、

    を使用します これにより、現在のドキュメントの位置が取得され、QualifyHREF関数を使用してドメイン名を取得して、完全に適格なアドレスとホスト名を取得するためにParseurl関数があることを確認します。 (これらの機能は両方とも、居住者のJavaScriptのGuru、Brothercakeによって書かれ、彼のブログ投稿で説明されています)。 後で、外部リンクのクラスを追加すると、このホスト名を使用して、リンクがサイトの外部であるかどうかを確認します。

    実際に作業を行うコード

    document.getElementsByTagname( "A")を使用してページからすべてのリンクを取得し、リンクのファイル拡張子を決定する必要があります。

    関数parseurlとvatififiehrefを再度使用してこれを行います。

    最初に、A要素のHREF値を取得します:

    linkhref = aelements [iv] .href;
    classExternal is the name of the CSS class you want to use to show a link to an external site.

    次に、値を解析してリンクに関する詳細情報を取得します。 ourl = parseurl(qualifiehref(linkhref));

    次に、リンクの拡張子を取得します:
    fileext = ourl.extension;

    次に、これらのリンクをループして、アイコンが必要かどうかを解決する必要があります。これは、少しトリッキーになり始めた場所です。 ClassArrayとそれに含まれる各配列をループする必要があります。ループ内でループを実行することにより、これを行います。はい、それはループ、ループ、ループです! この毛むくじゃらのコードは次のようになります:

    a[href$='.doc'] { <br>
      display: inline-block; <br>
      padding-left: 16px; <br>
      background: transparent url(images/icon_doc.gif) center right no-repeat; <br>
    }

    このリンクにはアイコンが必要ですか?

    アイコンを追加する必要があるかどうかを確認するには、リンクのファイル拡張子と配列にリストされている各拡張機能と比較します。

    classPrefix is the prefix you want to give the individual CSS classes. Use this to prevent any conflicts with any existing CSS classes. The default is iKon_.
    classExternal is the name of the CSS class you want to use to show a link to an external site.
    外部サイトへのリンク

    リンクが外部サイトにある場合にワークアウトすることは、以前に決定したURLホスト名を構成領域に設定したURLと比較するだけの場合です。

    それが本当なら、アンカーに新しい画像要素を追加し、ソースとIDを追加してから、画像のALTとタイトル属性を追加します。クラスを割り当てるだけでなく、追加のアイコンを追加して、このリンクが別のサイトに表示されることを明確に示すだけでなく、アイコンにタイトルとALT属性を追加します。

    externalIconLoc is the location of the image to use for the external icon.
    CSSクラス

    今すぐCSSファイルに戻りましょう。
    IndividualClassArray = Array('txt', 'xls', 'css', 'torrent');

    CSSクラスが.docファイルにアイコンを追加するためのCSSクラスです。クラス名には「ikon_」が付いていて、ファイル拡張子「doc」が付いています。このクラスは、基本的に、リンクの上部と下部、右側に少しのパディングを置きます。次に、アイコンの背景画像をそのスペースに追加します。

    外部リンクアイコンでは、わずかに異なるクラス構造を使用します。アイコンがボーダレスであることを確認するために、上部と下部を追加します。

    ClassPrefix変数を変更した場合は、一致するようにこれらのクラス名を変更することを忘れないでください。

    制限
    classArray = Array(  <br>
    IndividualClassArray,  <br>
    Array('flash', 'swf', 'fla')  <br>
    );

    リンクには、リンクにアイコンが割り当てられているためのファイル拡張子が必要です(外部サイトでない限り)。スクリプトは、クエリ文字列ベースのナビゲーションリンクも認識していません。 CSSが無効になっている場合、外部リンクアイコンのみが表示され、JavaScriptが無効になっている場合、ページに目に見える変更はありません。

    結論
    url = parseURL(qualifyHREF(document.location.href)).hostname;

    Ikonizeは、リンク後に視覚的に意味のあるアイコンを追加するための迅速かつ簡単な方法です。スクリプトはIE5.5で機能し、CSS3属性セレクターとは無関係に機能します。ご想像のとおり、スクリプトはよく分解され、簡単に構成されます。お役に立てば幸いです!

    javascriptのハイパーリンクに関するよくある質問

    JavaScriptを使用してハイパーリンクを作成するにはどうすればよいですか?

    JavaScriptを使用してハイパーリンクを作成するには、ドキュメントオブジェクトモデル(DOM)を操作することが含まれます。新しいアンカー要素を作成し、HREF属性を設定してから、ドキュメントの本文に追加できます。簡単な例は次のとおりです。

    var link = document.createelement( 'a');
    link.href = "https://www.example.com";
    link.textcontent = "go to seamp.com";
    document.body.body.appendchild(link);リンクしたいページのURL。次に、リンクのテキストを設定し、最後にドキュメントの本文にリンクを追加します。この属性は、リンクされたドキュメントを開く場所を指定します。 「_blank」に設定して、新しいウィンドウまたはタブでドキュメントを開くように設定することができます。「_ self」をクリックしたのと同じフレームでドキュメントを開く(これはデフォルトです)、「_ parent」で親フレームのドキュメントを開くか、「_top」を開き、ウィンドウの全身でドキュメントを開きます。例は次のとおりです。

    var link = document.createelement( 'a');link.-target = "_blank";

    link> textcontent = "go in
    JavaScriptを使用してハイパーリンクにタイトルを追加するにはどうすればよいですか?この属性は、リンクされたドキュメントの名前など、リンクに関する追加情報を提供し、マウスがリンクを移動するときにツールチップとして表示されることがよくあります。例は次のとおりです。

    var link = document.createelement( 'a');
    link.href = "https://www.example.com";
    link.title = "go emple.com";
    link> textcontent = "emplight in

    link.parentnode.RemoveChild(link);

    このコードでは、最初にIDでリンク要素を取得し、親ノードから削除します。

    javaScriptを使用してハイパーリンクのテキストを変更するにはどうすればよいですか?

    ハイパーリンクのテキストは、「テキストコンテンント」プロパティを使用して変更できます。このプロパティは、指定されたノードのテキストコンテンツとそのすべての子孫を設定または返します。例は次のとおりです。

    var link = document.getElementbyId( 'mylink');
    link.textcontent = "new link text";
    このコードでは、最初にリンク要素をIDで取得し、次に「新しいリンクテキスト」に変更します。 「スタイル」プロパティを使用してスタイルを整えました。このプロパティは、要素からインラインスタイルを追加、変更、または削除するために使用されます。例は次のとおりです。

    link.style.color = "red";

    link.style.fontsize = "20px";
    このコードでは、最初にリンク要素をIDでadit ad as and as as and as and on on on on on on on on thing as and on the font and on on shid and a shid and on simes and on est and as fort and as fort and as a shid and on javaScriptを使用してハイパーリンクをリスナーにしますか?

    「addeventlistener」メソッドを使用してイベントリスナーをハイパーリンクに追加できます。このメソッドは、指定された要素にイベントハンドラーを添付します。例は次のとおりです。

    var link = document.getElementById( 'mylink');

    link.addeventlistener( 'click'、function(){});
    ハイパーリンクがJavaScriptを使用してURLに従うことを防ぐにはどうすればよいですか?この方法は、キャンセル可能である場合にイベントをキャンセルします。つまり、イベントに属するデフォルトアクションは発生しません。例は次のとおりです。

    var link = document.getElementById( 'mylink');
    link.addeventlistener( 'click'、function(event){
    preventdefault();
    alert( 'リンクをクリックしましたが、url。 IDで要素を使用して、クリックイベントリスナーを添付します。リンクがクリックされると、URLに従わなく、代わりにアラートボックスが表示されます。この属性は、ユーザーがハイパーリンクをクリックするとターゲットがダウンロードされることを指定します。例は次のとおりです。link.href = "https://www.example.com/myfile.pdf";

    link.download=" myfile.pdf ";
    link.textent =" my my my my my my my my file ";このコードでは、最初に新しいアンカー要素を作成し、ダウンロードするファイルのURLにHREF属性を設定します。次に、ダウンロード属性をファイルの名前に設定し、最後にドキュメントの本文にリンクを追加します。

    JavaScriptを使用して電子メールクライアントを開くハイパーリンクを作成するにはどうすればよいですか?

    メールクライアントを開くハイパーリンクは、HREF属性の「MailTo:」プロトコルを使用して作成できます。このプロトコルは、ユーザーの電子メールクライアントを新しいメッセージで開き、すぐに送信する準備ができています。例は次のとおりです。

    var link = document.createelement( 'a');
    link.href = "mailto:example@example.com";
    link.textcontent = "email me";
    document.body.appendChild(link);
    「mailto:example@example.com」。次に、リンクのテキストを設定し、最後にドキュメントの本文にリンクを追加します。

以上がJavaScriptを使用した役立つハイパーリンクの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

Python vs. Javascript:どの言語を学ぶべきですか?Python vs. Javascript:どの言語を学ぶべきですか?May 03, 2025 am 12:10 AM

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

Python vs. JavaScript:パフォーマンスと効率の考慮事項Python vs. JavaScript:パフォーマンスと効率の考慮事項Apr 30, 2025 am 12:08 AM

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptの起源:その実装言語の調査JavaScriptの起源:その実装言語の調査Apr 29, 2025 am 12:51 AM

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

舞台裏:JavaScriptをパワーする言語は何ですか?舞台裏:JavaScriptをパワーする言語は何ですか?Apr 28, 2025 am 12:01 AM

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン