У нас есть виджет html / javascript, который наши клиенты могут добавить на веб-страницы своих сайтов, добавив тег в заголовок страницы и добавив элемент в тело страницы.
<a href="#" class="ourwidgetclass" data-product-id="1234567890" />
Когда страница загружается, наш javascript находит все элементы на этой странице с этим классом, извлекает productId из этого атрибута данных, выполняет веб-сервисный вызов нашего API и визуализирует небольшую визуализацию продукта для предоставленного идентификатора продукта.
Вчера мы получили сообщение об ошибке, что этот html рендерит следующим образом
<a href="#" class="ourwidgetclass" data-product-id="<a href="tel:1234567890">1234567890</a>" />
Это:
- локализовано для сафари на iOS
- происходит только на IPhone XS Max - это не происходит ни на одном другом iphone устройстве
Я посмотрел на SO и обычно рекомендую добавить следующий метатег isn Для нас это не вариант, так как мы можем (или не должны) изменять метатеги на сайте клиента, который отображает наш виджет. (<meta name="format-detection" content="telephone=no">
)
Так что кроме написания какого-то ужасного javascript / regex, чтобы попытаться определить, когда safari взламывает наши данные, как это ... есть ли у кого-нибудь идеи, почему это может происходить таким локализованным образом .