Свободная форма Wordpress не работает на веб-сайте Barba.jsHtml

Программисты Html
Ответить
Anonymous
 Свободная форма Wordpress не работает на веб-сайте Barba.js

Сообщение Anonymous »

В моем проекте Wordpress для переходов используется Barba.js. Я использую Fluent Forms, и когда пользователь заходит на сайт через страницу с формой, все работает нормально. Однако если вы уйдете, а затем вернетесь или перейдете на страницу формы с другой, этого не произойдет.
При первой загрузке страницы формы Wordpress внедряет логику Fluent Form, и она работает. Об этом свидетельствует, среди прочего, скрипт, который отображается в конце тела только тогда, когда точкой входа является страница формы:
...

Общая структура веб-сайта в формате HTML:

...






...


При переходе на страницу формы логика поставляется с HTML, но Барба заменяет только то, что находится внутри контейнера. Каков правильный подход к повторной инициализации такого кода? Моя проблема конкретно связана с Fluent Form, но как лучше всего запускать внешний код с помощью Barba?
Мой текущий обходной путь — принудительно использовать навигацию вместо перехода при переходе на страницу формы.
Это полная настройка Barba:
barba.init({

// Logic to force navigation to the fluent form page
prevent: ({ event, href }) => {
const hrefPath = (() => {
try {
return new URL(href, window.location.origin).pathname;
} catch (e) {
return href;
}
})();
if (hrefPath === "/contact-us/" || hrefPath === "/contact-us") {
return true;
}

if (event.type === "click" && href === window.location.href) {
event.preventDefault();
event.stopPropagation();

if (window.scrollY !== 0) {
gsap.to(window, { scrollTo: 0, duration: 0.5 });
}

return true;
}
},
transitions: [
{
name: "default",
leave(data) {
try {
const tl = gsap.timeline();
// animating the page out

return tl; // returning the "thenable" timeline
} catch (e) {
console.log("BARBA LEAVE ERROR", e);
}
},
enter(data) {
try {
// clean up gsap scrolltriggers
// update page title
} catch (e) {
console.error("BARBA LEAVE ERROR", e);
}
},
after(data) {
try {
// initialize page-specific logic
initializePage();

const tl = gsap.timeline();
// animate new page in

return tl;
} catch (e) {
console.error("BARBA AFTER ERROR", e);
}
},
},
],
});



Подробнее здесь: https://stackoverflow.com/questions/798 ... js-website
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»