ลบสไตล์หมายเลขโทรศัพท์ของ Microsoft Edge


96

ฉันสังเกตเห็นว่าเบราว์เซอร์ Microsoft Edge ใหม่จะแทนที่รูปแบบของฉันเมื่อตรวจพบหมายเลขโทรศัพท์:

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

ดูjsfiddle นี้ (ต้องเปิดโดยใช้ Microsoft Edge: P)

ประเภทนี้บุกรุกในการออกแบบเว็บไซต์และค่อนข้างน่ารังเกียจ ดูเหมือนว่าเป็นลักษณะของผู้สืบทอดจาก IE: /

ฉันจะลบล้างหรือปิดใช้งานสิ่งนี้ได้อย่างไรเพื่อไม่ให้ผู้ใช้เว็บไซต์ของฉันเห็น


ฉันหวังว่านี้ไม่ได้เป็นจริงที่เกิดจากมัลแวร์ ...
KARNS

ตรวจสอบส่วนเสริม (ไม่มี Edge) แต่ส่วนเสริมบางตัวทำให้เกิดพฤติกรรมดังกล่าวใน IE-s ...
sinisake

7
วันนี้ฉันแสดงความคิดเห็นเกี่ยวกับเรื่องนี้บน Twitter: mobile.twitter.com/scunliffe/status/631484565492625409อย่างน้อยที่สุดเท่าที่ฉันเห็นในตอนนี้จนกว่า Microsoft จะยกเลิกการตัดสินใจที่ไม่ดีนี้คุณจะต้องเพิ่ม<meta name="format-detection" content="telephone=no"/>ในทุก ๆ หน้าที่คุณต้องกำจัด ของสิ่งนี้ :-(
scunliffe

1
นอกจากนี้ยังนำไปใช้กับตัวเลขละติจูด / ลองจิจูดเช่น 145.1231321
behelit

1
นอกจากนี้รูปแบบตัวเลขที่ไฮไลต์ยังแตกต่างกันไปตามการตั้งค่าภูมิภาค ("ตำแหน่งบ้าน") ของพีซีของผู้ใช้ดังนั้นสิ่งนี้จะส่งผลต่อผู้ใช้ทั้งหมดแตกต่างกันไป! ซึ่งหมายความว่าเมื่อคุณทดสอบเพจของคุณผู้ใช้ปลายทางของคุณอาจเห็นบางอย่างที่แตกต่างออกไปแม้ว่าจะใช้เบราว์เซอร์เดียวกันก็ตาม
SharpC

คำตอบ:


175

คุณสามารถกำจัดมันได้โดยเพิ่มเมตาแท็กนี้ในส่วนหัวของหน้าเว็บของคุณ

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

เอกสารของ Microsoft เกี่ยวกับแท็กนี้

หวังว่าจะมีวิธีที่ดีกว่าในการปิดสิ่งนี้ทั่วโลกโดยไม่ทำให้หน้าบวม ... หรือดีกว่า แต่ปิดใช้งานคุณลักษณะนี้โดยค่าเริ่มต้น


คำตอบที่ดี! คุณสามารถเพิ่มลิงก์ไปยังเอกสารเกี่ยวกับเรื่องนี้ได้ไหม
karns

9
การออกแบบที่โง่เขลา ถ้ามีใครอยากจะทำแบบนั้น อย่างน้อยคุณสามารถอนุญาตแอตทริบิวต์เช่น "detect-phone = true" ทำให้เป็นทางเลือกได้เพราะบางครั้งไม่จำเป็นต้องอนุญาตให้เว็บแอปของคุณทำเช่นนั้นหากไม่ได้ตั้งใจไว้ด้วย ...
มิเกล

59

หากคุณไม่ต้องการปิดใช้งานสำหรับทั้งหน้าตามคำตอบที่เลือกแนะนำคุณสามารถเพิ่มแอตทริบิวต์ต่อไปนี้ลงในแท็กเฉพาะได้

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

อ้างอิง: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/dn265018(v=vs.85)#controlling-phone-number-detection


9
ฉันรู้ว่านี่เป็นคำตอบเก่า ๆ แต่สำหรับใครก็ตามที่ค้นหาสิ่งนี้: ฉันต้องเพิ่มสิ่งนี้ลงในแท็กหลัก (เช่น <div> ที่เพิ่มขึ้นจากป้ายกำกับหรืออะไรก็ตามที่คุณใช้แสดงโทรศัพท์ จำนวน).
Dortimer

+1 ทั้งคำตอบและความคิดเห็นของ Debasertron นอกจากนี้ในความคิดเห็นดูเหมือนว่าจะต้องเป็นผู้ปกครองระดับบล็อก - ฉันลองใช้ช่วงหนึ่งซึ่งไม่ได้ผล แต่ div ก็ใช้ได้
Masala

31

คำตอบข้างต้นทำงานได้อย่างสมบูรณ์ แต่ปิดใช้งานความสามารถในการคลิกเพื่อโทรเข้าหมายเลขโทรศัพท์ (ซึ่งเป็นปัญหาสำคัญหากคุณกำลังสร้างไซต์ที่ตอบสนอง) ฉันพบวิธีแก้ไขที่ดีกว่าในการทำให้หมายเลขโทรศัพท์เป็นลิงค์ ตัวอย่าง:

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

จากนั้นจะช่วยให้คุณสามารถจัดรูปแบบ "ลิงก์" ตามที่คุณต้องการและสไตล์ "a" ใน CSS ของคุณจะแทนที่สไตล์ Edge และ iPhone บนหมายเลขโทรศัพท์ ปัญหาเดียวของเรื่องนี้คือทำให้หมายเลขโทรศัพท์เป็นลิงก์สำหรับอุปกรณ์ทั้งหมด แต่ฉันพบว่าสิ่งนี้ไม่เป็นปัญหาเนื่องจากอุปกรณ์เกือบทุกชนิดมีคุณลักษณะหรือแอปคลิกเพื่อโทร


1
แนวทางที่ดีที่สุดในสายตาฉัน!
conceptdeluxe

แม้ว่าคำถามคือ "วิธีปิดการใช้งาน" แต่ฉันก็ต้องยอมรับว่านี่จะเป็นการตอบสนองที่ดีกว่าหากคุณพยายามสร้างไซต์ที่ตอบสนองโดยคำนึงถึงการใช้โทรศัพท์มือถือ
JStevens

3

ฉันประสบปัญหานี้ แต่มีกรณีการใช้งานที่แตกต่างกันเล็กน้อย: หมายเลขที่ไฮไลต์ไม่ใช่หมายเลขโทรศัพท์ดังนั้นฉันจึงไม่ต้องการการจัดรูปแบบพิเศษใด ๆ

ตัวอย่างเช่นคุณอาจมีบางอย่างเช่น:

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

สำหรับฉัน * Edge จะแปลง08 2017 10เป็นลิงก์หมายเลขโทรศัพท์ ขอบคุณขอบ!

ฉันพบว่าคุณสามารถแก้ไขสิ่งนี้ได้โดยการแทรกinline-blockองค์ประกอบที่มองไม่เห็นลงไปตรงกลางสตริง:

.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>

ฉันไม่เห็นว่ามันใช้ได้กับหมายเลขโทรศัพท์ของคุณหรือไม่เพราะฉันไม่เห็นการไฮไลต์ในทั้งสองกรณี คุณอาจต้องเขยิบตำแหน่งของช่วง

อนึ่งความจริงที่ว่าคุณสามารถทำได้เป็นหนึ่งในหลาย ๆ เหตุผลที่คุณไม่ควรคัดลอกคำสั่งจากหน้าเว็บและลงในเทอร์มินัลของคุณ:

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>

* ฉันคิดว่าการเน้นตัวเลขของ Edge เป็นภูมิภาค jsfiddle ของคุณไม่ได้ถูกไฮไลต์สำหรับฉัน แต่ฉันอยู่ในสหราชอาณาจักร ดูเหมือนว่าจะเน้นตัวเลขที่ขึ้นต้นด้วย 0

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.