57

作成中の HTML/JavaScript アプリに「更新」シンボルを表示したいのですが、画像をロードするための HTTP リクエストを作成したくありません。すべての主要なブラウザーでこれを確実に行うにはどうすればよいですか?

私が見つけた最も近い Unicode 値は ↺ ( ↺) ですが、矢印が間違った方向を指しています。

機能する別の Unicode 値はありますか?

動作する Webdings フォントはありますか? (通常、Opera と Firefox では機能しません。)

そのJSからの文字列によって提供されるbase64画像ソースを使用して、JavaScriptで画像を作成する方法はありますか?

編集:

この理由はオーバーヘッドではありません。作成するアプリは、他の依存関係がなく、単一の JavaScript ファイルに自己完結型である必要があります。ネットワークを必要とせずに、あらゆるプロジェクトに追加できる開発ユーティリティです。

4

8 に答える 8

120

文字↻(↻)、つまり U+21BB CLOCKWISE OPEN CIRCLE ARROW が必要に応じて受け入れられる場合 (その矢印は、一般的なリロード アイコンと同じように配置されない可能性があります)、かなり安全に使用できます。

.reload {
  font-family: Lucida Sans Unicode
}
<span class=reload>&#x21bb;</span>

Lucida Sans Unicode フォントにはこの記号が含まれており、最近見かけるほぼすべての Windows システムで使用できます。MS infoによると、Windows 98 (および Windows 95 plus) にも含まれていました。

Windows 以外のシステムでは、何らかのフォントで記号が表示され、それらのフォントから記号を取得する方法を知っているブラウザが搭載されていることが合理的に期待できます。そして、それを含むフォントはかなり似た形をしています。(ただし、シンボルがドキュメントのテキストとスタイル的に一致する必要がある場合は、状況をさらに詳しく調査し、フォント リストまたは「フォント スタック」内のすべてのフォントにシンボルが含まれていることを確認する必要があります。)

于 2012-11-20T14:06:19.620 に答える
61

ユニコード文字

更新アイコンまたは再読み込みアイコンとして機能する可能性のある Unicode 文字が少なくとも 2 つあります。


  • 時計回りの丸矢印U+27F3 ⟳
    </li>

  • 時計回りの丸矢印U+21BB ↻
    </li>

最初のものは、Safari または Chrome の iOS 7 または 8 または 9 には表示されません。そのため、Paul D. White の回答を踏まえて、2 つ目のCLOCKWISE OPEN CIRCLE ARROWを使用することをお勧めします。

ヒント: Mac ユーザーの場合は、無料のアプリUnicodeCheckerを入手してください。名前で文字を検索でき、その文字のグリフを含む (特定の Mac の) フォントのリストを表示できます。

アイコンのフォント

一部のフォントは、通常の文字グリフの代わりにスケーラブルなベクトル ベースのアイコンで作成されています。

于 2013-04-10T00:04:19.560 に答える
17

ブラウザーが Base64 文字列からの画像データの読み込みをサポートしている場合は、次の形式を使用imgして設定できます。src

data:[<mediatype>][;base64],<data>

例:

var img = document.getElementById("yourImage");
img.src = "data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7";
<img id="yourImage" />

于 2012-11-20T13:44:39.283 に答える
15

Unicode 文字に相当する時計回りは&#8635;, ↻ (ただし、David C. Bishopがコメントで指摘しているように、Chromebook では#27f2, ⟳</a> が使用されます)。

テキスト文字の使用はオプションですが、Windows XP では文字が表示されない場合があります (使用する文字と表示するフォントによって異なります)。 @Jukka K. Korpela は、この文字は Lucida Sans Unicode フォントに含まれているため、Windows XP でも正常に動作するはずであると述べています。

Wingdings フォントに関する限り、HTTP 要求を回避するには、問題のフォントがエンド ユーザーのコンピューターにインストールされることを確認する必要があります。一般的なクロスプラットフォームの Wingdings フォントはないと思います (ただし、完全に間違っている可能性があります)。

実際、JavaScript を使用して、base64 でエンコードされた画像表現を含む文字列から画像を作成できます。次のようにできます。

var image = new Image();
image.src = 'data:image/gif;base64,' + BASE64_ENCODED_STRING; // Replace gif with whatever image format it actually is

ただし、data-uri は Internet Explorer 8 以前ではうまく機能しない可能性があり、Windows XP ユーザーがスタックしている可能性があります。(実際には JavaScript は必要ありません。その属性<img>を使用してページにタグを配置するだけです。)src

于 2012-11-20T13:45:04.653 に答える
9

Unicode 6 文字

「時計回りの下向きおよび上向きの白丸矢印」(U+1F503)

悲しいことに、グリフのフォント サポートは最適ではないため、「すべての主要なブラウザ」は無理かもしれません... :-/

于 2016-03-07T00:52:25.133 に答える
2

「すべての主要なブラウザー」について言及しているので、次のように仮定します。

  1. 誰もがJavaScriptを持っているわけではありません
  2. 誰もがフォントを埋め込むことができるわけではありません (blackberry など)
  3. 誰もがすべての UNCODE 表現をサポートしているわけではありません (Windows XP)
  4. 誰もがインライン データ URI をサポートしているわけではありません (IE7 以降)

それで、何が残っていますか?最初の読み込み後にキャッシュされるHTML1 準拠のIMG要素をお勧めします。

<img src="/refresh.gif" alt="refresh">

LYNX やその他の純粋なテキストベースのブラウザーを除いて、私が知っているすべてのブラウザーで動作します。ただし、代わりに「更新」が表示されるので、問題ありません。

「最新の」ブラウザーで余分な 2 バイトのリクエストを本当に回避したい場合は、IE7 の条件付きコメントを使用できます。

<!--[if lte IE 7]>
<img src="refresh.gif" alt="refresh">
<![endif]-->

残りは次のようになります。

<img src="data:image/gif;base64,..." alt="refresh">

最新のものに慣れている場合は、CSS ボックス シャドウ ( demo )を使用できます。

.refresh{
    border-radius: 0;
    display: inline-block;
    width: 1px;
    height: 1px;
    box-shadow: 0px 0px rgba(0,0,0,0),0px 1px rgba(0,0,0,0),0px 2px rgba(0,0,0,0),0px 3px rgba(0,0,0,0),0px 4px rgba(0,0,0,0),0px 5px rgba(0,0,0,0),0px 6px rgba(0,0,0,0),0px 7px rgba(0,0,0,0),0px 8px rgba(0,0,0,0),0px 9px rgba(0,0,0,0),0px 10px rgba(0,0,0,0),0px 11px rgba(0,0,0,0),0px 12px rgba(0,0,0,0),0px 13px rgba(0,0,0,0),0px 14px rgba(0,0,0,0),0px 15px rgba(0,0,0,0),1px 0px rgba(0,0,0,0),1px 1px rgba(0,0,0,0),1px 2px rgba(0,0,0,0),1px 3px rgba(0,0,0,0),1px 4px rgba(0,0,0,0),1px 5px rgba(0,0,0,0),1px 6px rgba(0,0,0,0),1px 7px rgba(0,0,0,0),1px 8px rgba(0,0,0,0),1px 9px rgba(0,0,0,0),1px 10px rgba(0,0,0,0),1px 11px rgba(0,0,0,0),1px 12px rgba(0,0,0,0),1px 13px rgba(0,0,0,0),1px 14px rgba(0,0,0,0),1px 15px rgba(0,0,0,0),2px 0px rgba(0,0,0,0),2px 1px rgba(0,0,0,0),2px 2px rgba(0,0,0,0),2px 3px rgba(0,0,0,0),2px 4px rgba(0,0,0,0),2px 5px rgba(0,0,0,0.06),2px 6px rgba(0,0,0,0.55),2px 7px rgba(0,0,0,0.79),2px 8px rgba(0,0,0,0.86),2px 9px rgba(0,0,0,0.86),2px 10px rgba(0,0,0,0.65),2px 11px rgba(0,0,0,0.31),2px 12px rgba(0,0,0,0),2px 13px rgba(0,0,0,0),2px 14px rgba(0,0,0,0),2px 15px rgba(0,0,0,0),3px 0px rgba(0,0,0,0),3px 1px rgba(0,0,0,0),3px 2px rgba(0,0,0,0),3px 3px rgba(0,0,0,0),3px 4px rgba(0,0,0,0.25),3px 5px rgba(0,0,0,0.83),3px 6px rgba(0,0,0,0.86),3px 7px rgba(0,0,0,0.83),3px 8px rgba(0,0,0,0.69),3px 9px rgba(0,0,0,0.74),3px 10px rgba(0,0,0,0.86),3px 11px rgba(0,0,0,0.86),3px 12px rgba(0,0,0,0.6),3px 13px rgba(0,0,0,0.06),3px 14px rgba(0,0,0,0),3px 15px rgba(0,0,0,0),4px 0px rgba(0,0,0,0),4px 1px rgba(0,0,0,0),4px 2px rgba(0,0,0,0),4px 3px rgba(0,0,0,0.25),4px 4px rgba(0,0,0,0.83),4px 5px rgba(0,0,0,0.83),4px 6px rgba(0,0,0,0.43),4px 7px rgba(0,0,0,0),4px 8px rgba(0,0,0,0),4px 9px rgba(0,0,0,0),4px 10px rgba(0,0,0,0.13),4px 11px rgba(0,0,0,0.69),4px 12px rgba(0,0,0,0.86),4px 13px rgba(0,0,0,0.6),4px 14px rgba(0,0,0,0),4px 15px rgba(0,0,0,0),5px 0px rgba(0,0,0,0),5px 1px rgba(0,0,0,0),5px 2px rgba(0,0,0,0),5px 3px rgba(0,0,0,0.69),5px 4px rgba(0,0,0,0.86),5px 5px rgba(0,0,0,0.25),5px 6px rgba(0,0,0,0),5px 7px rgba(0,0,0,0),5px 8px rgba(0,0,0,0),5px 9px rgba(0,0,0,0),5px 10px rgba(0,0,0,0),5px 11px rgba(0,0,0,0),5px 12px rgba(0,0,0,0.69),5px 13px rgba(0,0,0,0.86),5px 14px rgba(0,0,0,0.25),5px 15px rgba(0,0,0,0),6px 0px rgba(0,0,0,0),6px 1px rgba(0,0,0,0),6px 2px rgba(0,0,0,0.13),6px 3px rgba(0,0,0,0.86),6px 4px rgba(0,0,0,0.6),6px 5px rgba(0,0,0,0),6px 6px rgba(0,0,0,0),6px 7px rgba(0,0,0,0),6px 8px rgba(0,0,0,0),6px 9px rgba(0,0,0,0),6px 10px rgba(0,0,0,0),6px 11px rgba(0,0,0,0),6px 12px rgba(0,0,0,0.13),6px 13px rgba(0,0,0,0.86),6px 14px rgba(0,0,0,0.65),6px 15px rgba(0,0,0,0),7px 0px rgba(0,0,0,0),7px 1px rgba(0,0,0,0),7px 2px rgba(0,0,0,0.43),7px 3px rgba(0,0,0,0.86),7px 4px rgba(0,0,0,0.31),7px 5px rgba(0,0,0,0),7px 6px rgba(0,0,0,0),7px 7px rgba(0,0,0,0),7px 8px rgba(0,0,0,0),7px 9px rgba(0,0,0,0),7px 10px rgba(0,0,0,0),7px 11px rgba(0,0,0,0),7px 12px rgba(0,0,0,0),7px 13px rgba(0,0,0,0.75),7px 14px rgba(0,0,0,0.83),7px 15px rgba(0,0,0,0),8px 0px rgba(0,0,0,0),8px 1px rgba(0,0,0,0.43),8px 2px rgba(0,0,0,0.69),8px 3px rgba(0,0,0,0.86),8px 4px rgba(0,0,0,0.6),8px 5px rgba(0,0,0,0.31),8px 6px rgba(0,0,0,0),8px 7px rgba(0,0,0,0),8px 8px rgba(0,0,0,0),8px 9px rgba(0,0,0,0),8px 10px rgba(0,0,0,0),8px 11px rgba(0,0,0,0),8px 12px rgba(0,0,0,0),8px 13px rgba(0,0,0,0.69),8px 14px rgba(0,0,0,0.86),8px 15px rgba(0,0,0,0),9px 0px rgba(0,0,0,0),9px 1px rgba(0,0,0,0.48),9px 2px rgba(0,0,0,0.86),9px 3px rgba(0,0,0,0.86),9px 4px rgba(0,0,0,0.86),9px 5px rgba(0,0,0,0.13),9px 6px rgba(0,0,0,0),9px 7px rgba(0,0,0,0),9px 8px rgba(0,0,0,0),9px 9px rgba(0,0,0,0),9px 10px rgba(0,0,0,0),9px 11px rgba(0,0,0,0),9px 12px rgba(0,0,0,0),9px 13px rgba(0,0,0,0.75),9px 14px rgba(0,0,0,0.83),9px 15px rgba(0,0,0,0),10px 0px rgba(0,0,0,0),10px 1px rgba(0,0,0,0),10px 2px rgba(0,0,0,0.79),10px 3px rgba(0,0,0,0.86),10px 4px rgba(0,0,0,0.6),10px 5px rgba(0,0,0,0),10px 6px rgba(0,0,0,0),10px 7px rgba(0,0,0,0),10px 8px rgba(0,0,0,0),10px 9px rgba(0,0,0,0),10px 10px rgba(0,0,0,0),10px 11px rgba(0,0,0,0),10px 12px rgba(0,0,0,0.13),10px 13px rgba(0,0,0,0.86),10px 14px rgba(0,0,0,0.65),10px 15px rgba(0,0,0,0),11px 0px rgba(0,0,0,0),11px 1px rgba(0,0,0,0),11px 2px rgba(0,0,0,0.38),11px 3px rgba(0,0,0,0.83),11px 4px rgba(0,0,0,0.06),11px 5px rgba(0,0,0,0),11px 6px rgba(0,0,0,0),11px 7px rgba(0,0,0,0),11px 8px rgba(0,0,0,0),11px 9px rgba(0,0,0,0),11px 10px rgba(0,0,0,0),11px 11px rgba(0,0,0,0),11px 12px rgba(0,0,0,0.69),11px 13px rgba(0,0,0,0.86),11px 14px rgba(0,0,0,0.25),11px 15px rgba(0,0,0,0),12px 0px rgba(0,0,0,0),12px 1px rgba(0,0,0,0),12px 2px rgba(0,0,0,0),12px 3px rgba(0,0,0,0.31),12px 4px rgba(0,0,0,0),12px 5px rgba(0,0,0,0),12px 6px rgba(0,0,0,0.25),12px 7px rgba(0,0,0,0),12px 8px rgba(0,0,0,0),12px 9px rgba(0,0,0,0),12px 10px rgba(0,0,0,0.13),12px 11px rgba(0,0,0,0.69),12px 12px rgba(0,0,0,0.86),12px 13px rgba(0,0,0,0.6),12px 14px rgba(0,0,0,0),12px 15px rgba(0,0,0,0),13px 0px rgba(0,0,0,0),13px 1px rgba(0,0,0,0),13px 2px rgba(0,0,0,0),13px 3px rgba(0,0,0,0),13px 4px rgba(0,0,0,0),13px 5px rgba(0,0,0,0.06),13px 6px rgba(0,0,0,0.83),13px 7px rgba(0,0,0,0.83),13px 8px rgba(0,0,0,0.69),13px 9px rgba(0,0,0,0.75),13px 10px rgba(0,0,0,0.86),13px 11px rgba(0,0,0,0.86),13px 12px rgba(0,0,0,0.6),13px 13px rgba(0,0,0,0.06),13px 14px rgba(0,0,0,0),13px 15px rgba(0,0,0,0),14px 0px rgba(0,0,0,0),14px 1px rgba(0,0,0,0),14px 2px rgba(0,0,0,0),14px 3px rgba(0,0,0,0),14px 4px rgba(0,0,0,0),14px 5px rgba(0,0,0,0.13),14px 6px rgba(0,0,0,0.55),14px 7px rgba(0,0,0,0.79),14px 8px rgba(0,0,0,0.86),14px 9px rgba(0,0,0,0.86),14px 10px rgba(0,0,0,0.65),14px 11px rgba(0,0,0,0.31),14px 12px rgba(0,0,0,0),14px 13px rgba(0,0,0,0),14px 14px rgba(0,0,0,0),14px 15px rgba(0,0,0,0),15px 0px rgba(0,0,0,0),15px 1px rgba(0,0,0,0),15px 2px rgba(0,0,0,0),15px 3px rgba(0,0,0,0),15px 4px rgba(0,0,0,0),15px 5px rgba(0,0,0,0),15px 6px rgba(0,0,0,0),15px 7px rgba(0,0,0,0),15px 8px rgba(0,0,0,0),15px 9px rgba(0,0,0,0),15px 10px rgba(0,0,0,0),15px 11px rgba(0,0,0,0),15px 12px rgba(0,0,0,0),15px 13px rgba(0,0,0,0),15px 14px rgba(0,0,0,0),15px 15px rgba(0,0,0,0);
}
于 2012-11-20T13:57:36.013 に答える