iPad上でのAngularJSを利用したバインディングで勝手にtel型リンクにされる時の対応

Jan 13, 2016   #AngularJS 

環境

  • AngularJS 1.4.3
  • Onsen UI
  • Cordova 5.4.1

単純化すると下記たいなコード

# app.js
app.controller('AppCon', function ($scope) {
        $scope.data = 123;
    });

# index.html
<div>
    <span>{{data}}</span>
</div>

iPadにビルドして表示すると勝手にハイパーリンクにされた上に電話先の番号がめちゃめちゃにはいってた。

<span><a href="tel:123456789" x-apple-data-detectors="true" x-apple-data-detectors-type="telephone" x-apple-data-detectors-result="0">123</a></span>

html metaを追加することで解決した。

#index.html
<head>
    <meta name="format-detection" content="telephone=no" />
</head>

<div>
    <span>{{data}}</span>
</div>

参照