13

私はかなり標準的な電話番号のタグを持っています。Firefox以外のすべてで動作します。tel プロトコルが標準だと思っていましたが、私が知らない回避策はありますか?

<a class="tel" href="tel:8001234567">(800) 123-4567</a>

Firefox のエラー メッセージ:

住所がわかりませんでした

プロトコル (tel) がどのプログラムにも関連付けられていないため、Firefox はこのアドレスを開く方法を知りません。

このアドレスを開くには、他のソフトウェアのインストールが必要になる場合があります。

4

4 に答える 4

6

Firefox は、すべてのプロトコルのプログラムを認識しているわけではありません。この場合、ユーザーは設定でプログラムを指定する必要があります。callto:これに対するサーバー側の回避策はありませんが、Skype によって導入された非公式のものに置き換えることを除きます。

于 2013-01-15T15:33:15.213 に答える
2

これは古い質問であることは知っていますが、回避策が必要な場合はこれが役立つ場合があります。

var isFirefox = (navigator.userAgent.toLowerCase().indexOf('firefox') > -1);
var isMobile = (typeof window.orientation !== "undefined") ||
               (navigator.userAgent.indexOf('IEMobile') !== -1);

if(isFirefox && !isMobile) {
    $('a[href^="tel:"]').click(function() { return false; });
}

ノート:

@Peter が指摘したように、このコードは確実tel:に Firefox のリンクを無効にします。副作用を制限するためにモバイル デバイスの検出 (ここにあります) を追加しましたが、それでもデスクトップで処理できるサードパーティ アプリケーションは無効になります。

于 2014-11-05T10:29:22.823 に答える
1

電話リンクは Firefox で機能します。電話アプリがインストールされていない場合は、その番号に発信できない理由が通知されます。これはエラー メッセージではなく、コメントが指摘しているように、「解決策」は適切ではありません。レスポンシブ Web サイトで、PC ユーザー向けに次のヒントを使用しています。

<a class="tel" href="tel:8001234567" 
    title="Clicking this link only works on a mobile phone">
  (800) 123-4567
</a>

正確な真実ではありませんが、電話アプリケーションをインストールしていないほとんどの PC ユーザーには、クリック可能なリンクとして電話番号を使用すべきではないことが説明されますが、マウスを持たないモバイル ユーザーにはツールチップが表示されません。 . 電話アプリを使用しているデスクトップ ユーザーは、電話リンクをクリックするのに慣れている可能性が高く、ツールチップが電話アプリを使用していないデスクトップ ユーザー向けであることも理解しています。

同じメッセージが のアンカー タグに表示されるかどうかをテストするためにメールをアンインストールしませんでしたhref="mailto:..."。メッセージは、インストールされていないプロトコルを処理するための一種の一般的なものであるため、一部のユーザーには一種の不可解に聞こえます.

于 2017-09-18T09:28:36.027 に答える