WordPress: mailto не работает во всех браузерах при использовании data-type = "project" (ошибка: DOMException) - PullRequest
0 голосов
/ 12 февраля 2019

При использовании 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, но не уверен, что это тоже хороший способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...