При использовании data-type="project"
для элементов в WordPress-Theme, выполняемых как приложение JavaScript для одного приложения, ссылки mailto становятся неактивными.В Chrome, Safari и Firefox просто ничего не происходит.
Как только я удаляю data-type="project"
, ссылка mailto работает во всех браузерах.Однако при этом я теряю некоторые необходимые функции (например, состояние наведения на рабочем столе, отображаемое при нажатии на мобильном телефоне).
Код в файле frontend.app.js темы:
var p = this.model.get("title"),
g = this.model.get("postid"),
y = 'data-id="' + g + '" data-catid="' + s.utility_controller.stringifyCatIds(m) + '" data-title="' + p + '" data-type="project"',
var t = String() + '<a class="thumb ' + w + ' ' + u + '" href="mailto:mail@domain.com?subject=Title:' + p + '&body=Text" ' + y + ' >';
Консоль выводит:
Uncaught DOMException: не удалось выполнить pushState для «History»: объект состояния истории с URL-адресом https://www.ail@domain.com (…)
Ошибка ссылается на следующую функцию в frontend.app.js темы:
m = function(e, t, n) {
window.history.pushState(e, t, n), document.title = t, a.a.triggerPushState(), w(e)
},
По какой-то причине ссылка mailto, похоже, преобразуется в обычную ссылку с https.И каким-то образом первое письмо получателя удаляется.Я предполагаю, что это связано с JQuery или другими библиотеками, но я не могу понять, что происходит, когда используется data-type="project"
.Кроме того, я не понимаю, что именно здесь делает PushState.
Я также изучал возможность использования динамической контактной формы modal / page, но не уверен, что это тоже хороший способ.