Xóa kiểu số điện thoại của Microsoft Edge


95

Tôi nhận thấy rằng trình duyệt Microsoft Edge mới sẽ ghi đè các kiểu của tôi khi nó phát hiện số điện thoại:

<span class="phone">(123)123-1234</span>

Xem jsfiddle này (phải được mở bằng Microsoft Edge: P).

Loại này xâm nhập vào thiết kế của trang web, và khá đáng ghét. Chắc chắn có vẻ như là một đặc điểm của người kế nhiệm IE: /

Làm cách nào để ghi đè hoặc tắt tính năng này để người dùng trang web của tôi không nhìn thấy nó?


Tôi hy vọng điều này thực sự không phải do phần mềm độc hại gây ra ...
karns

Kiểm tra add-ons (không có Edge), nhưng một số add-ons gây ra rằng hành vi trong IE-s ...
sinisake

7
Hôm nay tôi vừa nhận xét về điều này trên Twitter: mobile.twitter.com/scunliffe/status/631484565492625409 ít nhất là theo những gì tôi có thể thấy cho đến khi Microsoft đảo ngược quyết định tồi tệ này, bạn sẽ cần phải thêm <meta name="format-detection" content="telephone=no"/>vào mỗi trang mà bạn phải loại bỏ điều này. :-(
scunliffe

1
Nó cũng được áp dụng cho các số vĩ độ / kinh độ như 145.1231321
behelit

1
Ngoài ra, các định dạng số được đánh dấu thay đổi theo cài đặt khu vực ("Vị trí nhà") của PC của người dùng, vì vậy điều này sẽ ảnh hưởng khác nhau đến tất cả người dùng! Điều này có nghĩa khi bạn kiểm tra các trang của bạn người dùng cuối có thể thực sự nhìn thấy một cái gì đó khác nhau mặc dù sử dụng cùng một trình duyệt: docs.microsoft.com/en-us/previous-versions/windows/...
SharpC

Câu trả lời:


171

Bạn có thể loại bỏ nó bằng cách thêm thẻ meta này vào tiêu đề các trang của bạn.

<meta name="format-detection" content="telephone=no">

Tài liệu của Microsoft về thẻ này .

Hy vọng rằng sẽ có một cách tốt hơn để tắt tính năng này trên toàn cầu mà không làm đầy các trang ... Hoặc tốt hơn là tắt tính năng này theo mặc định.


Câu trả lời tốt! Bạn có thể thêm liên kết đến các tài liệu liên quan đến vấn đề này không?
karns

8
Thiết kế ngu ngốc. Nếu ai đó muốn làm điều đó. Ít nhất, bạn có thể cho phép một thuộc tính như "phát hiện điện thoại = true" làm cho nó không bắt buộc, bởi vì đôi khi không có nhu cầu để cho phép ứng dụng web của bạn để làm điều đó nếu nó không có ý định quá ...
Miguel

59

Nếu bạn không muốn tắt toàn bộ trang như câu trả lời đã chọn đề xuất, bạn có thể thêm thuộc tính sau vào một thẻ cụ thể

<p x-ms-format-detection="none">

Tham khảo: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/dn265018(v=vs.85)#controlling-phone-number-detection


9
Tôi biết đây là một câu trả lời hơi cũ, nhưng đối với bất kỳ ai đang tìm kiếm câu trả lời này: Tôi phải thêm câu trả lời này vào thẻ cha (như <div> đó là một bước tiến so với nhãn hoặc bất kỳ thứ gì bạn đang sử dụng để hiển thị điện thoại con số).
Dortimer

+1 cho cả câu trả lời và nhận xét của Debasertron. Thêm vào nhận xét, có vẻ như nó cần phải là cấp cha mẹ - tôi đã thử với một khoảng cách, không hoạt động, nhưng một div thì ổn.
Masala

31

Câu trả lời trên hoạt động hoàn hảo, nhưng vô hiệu hóa khả năng có số điện thoại nhấp để gọi (đây là một vấn đề lớn nếu bạn đang xây dựng một trang web đáp ứng). Tôi đã tìm thấy một công việc tốt hơn để tạo liên kết số điện thoại. Thí dụ:

<a href="tel:888-888-8888">(888) 888-8888</a>

Sau đó, điều này sẽ cho phép bạn tạo kiểu "liên kết" theo cách bạn muốn và các kiểu "a" trong CSS của bạn sẽ ghi đè kiểu Edge và iPhone trên số điện thoại. Vấn đề duy nhất với điều này là nó làm cho số điện thoại trở thành một liên kết cho tất cả các thiết bị, nhưng tôi thấy đây không phải là vấn đề vì hầu hết mọi thiết bị đều có một số tính năng hoặc ứng dụng nhấp để gọi.


1
Cách tiếp cận tốt nhất trong mắt tôi!
conceptdeluxe

Mặc dù, câu hỏi là "làm thế nào để vô hiệu hóa", tôi sẽ phải đồng ý rằng đây sẽ là câu trả lời tốt hơn nếu bạn đang cố gắng tạo một trang web đáp ứng có lưu ý đến việc sử dụng điện thoại di động.
JStevens

3

Tôi đã gặp phải vấn đề này, nhưng với một trường hợp sử dụng hơi khác: Số mà nó đánh dấu không phải là số điện thoại, vì vậy tôi không muốn có bất kỳ định dạng đặc biệt nào.

Ví dụ, bạn có thể có một cái gì đó như:

<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>

Đối với tôi *, Edge sẽ chuyển đổi 08 2017 10thành liên kết số điện thoại. Cảm ơn, Edge!

Tôi thấy rằng bạn có thể giải quyết vấn đề này bằng cách chèn inline-blockphần tử vô hình vào giữa chuỗi:

.notel{
  display:inline-block;
  height:0px;
  width:0px;
}
<span class="phone">(763)219-5222</span>
<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>

<br>
<span class="phone">(763)2<span class="notel"></span>19-5222</span>
<div>The current date/time: May 08 2<span class="notel"></span>017 10:44:58 GMT Daylight Time</div>

Tôi không thể biết liệu điều này có phù hợp với số điện thoại của bạn hay không vì tôi không thấy đánh dấu trong cả hai trường hợp. Bạn có thể cần phải di chuyển vị trí của nhịp.

Ngẫu nhiên, thực tế là bạn có thể làm điều này là một trong nhiều lý do bạn không nên sao chép lệnh khỏi các trang web và vào thiết bị đầu cuối của mình:

span{
display:inline-block;
height: 0px;
width: 0px;
overflow:hidden;
}
textarea{
  width: 300px;
  height:50px;
}
<div>echo "HELLO" <span>&& wreck this machine</span></div><div>echo "WORLD"</div>

<textarea ></textarea>
<div>
Select, copy and paste above commands into the textarea.
</div>

* Tôi nghĩ điểm nổi bật của Edge về các con số là khu vực. Jsfiddle của bạn không được đánh dấu đối với tôi, nhưng tôi đang ở Vương quốc Anh. Đây dường như là để làm nổi bật các số bắt đầu bằng 0.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.