top of page
ChatGPT Image 2025年5月15日 21_52_38.png

フルレンジ・プッシュアップで

筋肉番付挑戦!

    腕立て伏せの

〝ウデ試し〞にトライ

トレーニーなら腕が鳴る

腕立て伏せマシン💪
筋トレ猛者に試してほしい!

このページはご利用できません。申し訳ございませんが、ホームにお戻りください。

定番の腕立て伏せの〝腕前〞を披露したい!
そんな時はトレ仲間を誘い、腕立てマシンを借りて遊ぶのもアリでは?

PUSH-UP💫THE HERO
bottom of page
/* * PUSH-UP THE HERO / MYOFIBER NEXUS FOOTER * Wix masterPage.js analytics receiver v1.3 * * Required Wix HTML Component ID: htmlFooter * Required Wix marketing integration: Google Analytics (GA4) */ import wixWindowFrontend from "wix-window-frontend"; const FOOTER_HTML_ID = "#htmlFooter"; const WIDGET_SOURCE = "pushup-footer-widget"; const PARENT_SOURCE = "pushup-footer-analytics-parent"; const PROTOCOL_VERSION = "1.0"; const MAX_SEEN_MESSAGE_IDS = 250; const EVENT_DEFINITIONS = Object.freeze({ footer_widget_load: { category: "Footer Widget", action: "load" }, footer_widget_view: { category: "Footer Widget", action: "qualified_view" }, footer_navigation_click: { category: "Footer Navigation", action: "navigation_click" }, footer_contact_click: { category: "Footer CTA", action: "contact_click" }, footer_sponsorship_click: { category: "Footer CTA", action: "sponsorship_click" }, footer_privacy_click: { category: "Footer Utility", action: "privacy_click" }, footer_social_click: { category: "Footer Social", action: "social_click" }, footer_route_toggle: { category: "Footer Navigation", action: "route_toggle" }, footer_motion_toggle: { category: "Footer Control", action: "motion_toggle" } }); const PARAMETER_ALLOWLIST = new Set([ "widget_name", "widget_version", "host_page_path", "responsive_mode", "motion_state", "visibility_threshold", "route_id", "route_action", "link_id", "link_group", "destination_path", "destination_host", "social_network", "is_current_route", "trace_count" ]); const seenMessageIds = new Set(); const seenMessageOrder = []; function rememberMessageId(messageId) { seenMessageIds.add(messageId); seenMessageOrder.push(messageId); while (seenMessageOrder.length > MAX_SEEN_MESSAGE_IDS) { const oldest = seenMessageOrder.shift(); seenMessageIds.delete(oldest); } } function cleanString(value, maxLength = 100) { return String(value).replace(/[\u0000-\u001F\u007F]/g, " ").trim().slice(0, maxLength); } function sanitizeParameters(params) { if (!params || typeof params !== "object" || Array.isArray(params)) return {}; const clean = {}; Object.keys(params).forEach((key) => { if (!PARAMETER_ALLOWLIST.has(key)) return; const value = params[key]; if (typeof value === "string") clean[key] = cleanString(value, 120); else if (typeof value === "boolean") clean[key] = value; else if (typeof value === "number" && Number.isFinite(value)) clean[key] = value; }); return clean; } function isAnalyticsMessage(data) { return Boolean( data && typeof data === "object" && !Array.isArray(data) && data.source === WIDGET_SOURCE && data.type === "PUSHUP_ANALYTICS_EVENT" && data.protocolVersion === PROTOCOL_VERSION && data.widgetVariant === "myofiber_nexus" && typeof data.messageId === "string" && data.messageId.length > 0 && data.messageId.length <= 120 && Object.prototype.hasOwnProperty.call(EVENT_DEFINITIONS, data.eventName) ); } function analyticsLabel(eventName, params) { return cleanString( params.link_id || params.social_network || params.route_id || params.motion_state || params.host_page_path || eventName, 100 ); } $w.onReady(() => { const footerHtml = $w(FOOTER_HTML_ID); function postToWidget(message) { try { footerHtml.postMessage(message); } catch (_) { /* component may be navigating */ } } function acknowledge(messageId, status) { postToWidget({ source: PARENT_SOURCE, type: "PUSHUP_ANALYTICS_ACK", protocolVersion: PROTOCOL_VERSION, messageId, status }); } function announceReady() { postToWidget({ source: PARENT_SOURCE, type: "PUSHUP_ANALYTICS_READY", protocolVersion: PROTOCOL_VERSION }); } footerHtml.onMessage((event) => { const data = event && event.data; if (!isAnalyticsMessage(data)) return; if (seenMessageIds.has(data.messageId)) { acknowledge(data.messageId, "duplicate"); return; } const definition = EVENT_DEFINITIONS[data.eventName]; const params = sanitizeParameters(data.params); const eventValue = typeof params.trace_count === "number" ? params.trace_count : 1; try { wixWindowFrontend.trackEvent("CustomEvent", { event: data.eventName, eventCategory: definition.category, eventAction: definition.action, eventLabel: analyticsLabel(data.eventName, params), eventValue, widget_variant: "myofiber_nexus", ...params }); rememberMessageId(data.messageId); acknowledge(data.messageId, "accepted"); } catch (error) { console.warn("Footer analytics event was not accepted.", data.eventName, error); } }); /* Repeated readiness messages cover Wix's asynchronous HTML Component boot. */ announceReady(); setTimeout(announceReady, 500); setTimeout(announceReady, 1600); });