1

たとえばutexas.edu、パスの先頭に/

<link rel="shortcut icon" href="/sites/default/files/webcentral_favicon_0.ico" type="image/x-icon" />

columbia.eduそうではなく、フォルダー名またはパスで始まるだけです

<link rel="shortcut icon" href="sites/all/themes/base/columbia2/images/favicon-crown.png" type="image/x-icon" />

どちらも相対パスですが、絶対パスと区別する方法が必要です。

相対パスまたは絶対パスで作業しているとき、どのようにプログラム的に判断できますか?

4

5 に答える 5

7

URL は次のようにフォーマットできます

  • 絶対の:

    http://google.comhttps://google.com

  • スキーム相対:

    //google.com のリンクは、ページが読み込まれたときと同じスキームを使用します

    //en.wikipedia.org/apple-touch-icon.png

  • 絶対サイト:

    /index.html

  • ページ相対:

    index.html、../index.html、./index.html

質問の意味がよくわかりませんが、相対/絶対 URL とは何かについて混乱しているようです。

相対 URL を絶対 URL に変換する必要がある場合は、http://code.google.com/p/js-uri/を使用できます。

于 2012-05-26T19:18:27.197 に答える
3

href 値の最初の文字が で始まる場合、/それはドメインのルートに相対的です。同じディレクトリで始まる場合.....は上のディレクトリであり、これらはスタックできます。それらで始まらず//、完全な URL で始まらない場合は、 relativeです。そして実際には...も相対的です。

//orで始まることもhttps?あり、その場合は絶対になることに注意してください。

于 2012-05-26T19:05:12.840 に答える
1

先頭のスラッシュを簡単に確認できます。

var link = $('link[rel="shortcut icon"]').attr('href');
var start = link.charAt(0); // Returns the leading slash (or not...)
if(start=='/'){
   return 'absolute';
}else{
   return 'relative';
}
于 2012-05-26T19:04:20.373 に答える
1

"sites" ディレクトリがサイトのルート ディレクトリにある場合、どちらも同等です。ところで、あなたは Drupal を使っていますか?Drupal ではファビコンをアップロードでき、パスは Drupal によって処理されます。

于 2012-05-26T19:04:27.453 に答える
1

URL の先頭にある「http」を探すことはできませんか? 安全に接続している場合でも、完全な URL の場合は http で始まる必要があります。

于 2012-05-26T19:09:11.823 に答える