#javascript #shopify #amp-html #shopify-app
Вопрос:
Плагин: Shopsheriff
Проблема: Моя страница AMP не позволяет мне добавлять «Подписку на рассылку», потому что «Подписка на рассылку» — это Javascript. Javascript в настоящее время несовместим с AMP.
- У меня нет опыта в кодировании, поэтому мне нужен конвертер какого-то типа для изменения кода
Желаемые результаты: Я хотел бы преобразовать / изменить свой Javascript «Регистрация на рассылку» в скрипт, совместимый с AMP HTML.
Если бы вы могли мне чем — нибудь помочь, я был бы чрезвычайно благодарен!
Вот код:
//Some variable sets
var otgServerpath = "https://onetapsignup.com/otg/";
var otgSettings;
var otgPageURL = window.location.href;
var otgShopURL = Shopify.shop;
if(typeof($otjq) == 'undefined' ){
if (typeof(window.jQuery) == 'undefined') {
(function() {
// Load jquery script if doesn't exist
var script = document.createElement("SCRIPT");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
script.type = 'text/javascript';
script.onload = function() {
$otjq = window.jQuery; // $otjq is our jQuery
$ = window.jQuery; // $otjq is our jQuery
loadOneTapGoogle();
};
document.getElementsByTagName("head")[0].appendChild(script);
})();
}else{
if (typeof(window.jQuery.ajax) == 'undefined') {
(function() {
// Load jquery script if doesn't exist
var script = document.createElement("SCRIPT");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
script.type = 'text/javascript';
script.onload = function() {
$otjq = window.jQuery; // $otjq is our jQuery
$ = window.jQuery; // $otjq is our jQuery
loadOneTapGoogle();
};
document.getElementsByTagName("head")[0].appendChild(script);
})();
}else{
$otjq = window.jQuery; // $otjq is our jQuery
$ = window.jQuery; // $otjq is our jQuery
loadOneTapGoogle();
}
}
}
var otgSettingsGlobal;
function loadOneTapGoogle(argument) {
//otgPostAjax();
$otjq.ajax({
url: otgServerpath 'ajax_get_settings.php',
dataType: "json",
type: 'POST',
data: {
'domain': otgShopURL,
'page_url': otgPageURL,
'theme_id': Shopify.theme.id,
'theme_store_id': Shopify.theme.theme_store_id
},
error: function(data){
//console.log(data);
},
success: function (otgSettings) {
otgSettingsGlobal = otgSettings;
otgPostAjax(otgSettings);
}
});
}
function otgPostAjax(otgSettings) {
// Add One Tap Google Iframe
if (otgSettingsGlobal.flag == 1) {
var otgIframe = document.createElement("iframe");
otgIframe.id = 'otg_iframe';
if ($(window).width() < 600) {
var mob = 1;
otgIframe.style = 'width: 100%; height: 380px; position: fixed;bottom: 0px;left: 0px; border: none; z-index: 2147483647; background: transparent;';
}else{
var mob = 2;
otgIframe.style = 'width: 450px; height: 600px; position: fixed;top: 0px;right: 0px; border: none; z-index: 2147483647; background: transparent;';
}
/*
if ($(window).width() < 600) {
var mob = 1;
otgIframe.style = 'opacity: 0;width: 100%; height: 100%; position: fixed; bottom: 0px;left: 0px; border: none; z-index: 2147483647;background: #0d0d0dc4';
}else{
var mob = 2;
otgIframe.style = 'opacity: 0;width: 100%; height: 100%; position: fixed; top: 0px;right: 0px; border: none; z-index: 2147483647;background: #0d0d0dc4';
}*/
otgIframe.src = otgServerpath 'otg.php?mob=' mob 'amp;store_id=' otgSettingsGlobal.store_id;
document.getElementsByTagName("body")[0].appendChild(otgIframe);
setTimeout(function(){
$("#otg_iframe").css("opacity","1");
},2000)
window.addEventListener("message", function(event) {
if (typeof event.data === 'string' amp;amp; event.data.startsWith("onetap_")) {
//console.log("Its string and onetap");
$("#otg_iframe").remove();
}
});
/*$("body").on("click",function(){
$("#otg_iframe").remove();
});*/
}
}
Комментарии:
1. Я думаю, вам лучше попросить разработчиков приложений предоставить код, совместимый с AMP, в конце концов, вы пользуетесь сервисом приложений бесплатно или платно?
2. @Onkar Приложение бесплатное, и я проконсультировался с разработчиками приложений, но они все еще работают над ним. Я просто хочу ускорить процесс, если это возможно. Спасибо вам за ваш вклад! 🙂