【问题标题】:Wixcode "static" html iframeWixcode“静态”html iframe
【发布时间】:2019-03-03 18:02:26
【问题描述】:

抱歉,如果这不是发布此内容的正确位置。我对 HTML 等完全陌生,但我想在我的网站上放一个按钮,它会记住它被按下了多少次,每次有人按下它都会给你一个数字,例如下一个素数。通过足够的谷歌搜索,我设法整理了一些我认为可以做到这一点的(我期望的是非常糟糕的代码)。这就是我所拥有的(抱歉,如果格式不正确,我在复制粘贴时遇到了问题)。

<head>
    <title>Space Clicker</title>
</head>

<body>
    <script type="text/javascript">

        function isPrime(_n)
   {
    var _isPrime=true;
    var _sqrt=Math.sqrt(_n);
     for(var _i=2;_i<=_sqrt;_i++)
     if((_n%_i)==0) _isPrime=false;
      return _isPrime;
    }   
    function nextPrime(_s,_n)
    {
  while(_n>0)if(isPrime(_s++))_n--;
    return --_s;
    }

var clicks = 0;
function hello() {
    clicks += 1;
    v = nextPrime(2,clicks);
    document.getElementById("clicks1").innerHTML = clicks ;
     document.getElementById("v").innerHTML = v ;
};
</script>
<button type="button" onclick="hello()">Get your prime</button>
<p>How many primes have been claimed: <a id="clicks1">0</a></p>
   <p>Your prime: <a id="v">0</a></p>


</body>

问题是,当我将此代码放在我的 wixsite 上的 iframe 中时,每次您查看该站点时似乎都会重新加载代码,因此它会再次启动计数器。我希望它说按钮已被按下 5 次,它将保持在 5 直到下一位访客出现并按下它。这样的事情可能吗?

【问题讨论】:

  • 如果您希望保留一些数据,您可能需要查看 localStorage 或服务器端语言。

标签: html velo


【解决方案1】:

您实际上并不需要 iframe,您可以使用 wixCode 来做到这一点。 WixCode 让您拥有一个数据库集合。您需要做的就是在每次点击时更新集合值。

假设您添加了一个 Events 集合,可以包含以下字段: id, eventName, clicksCount

添加一个带有 eventName = 'someButtonClickEvent' 和 clicksCount = 0 的单行 然后将以下代码添加到您的页面:

import wixData from 'wix-data';

$w.onReady(function () {});

export function button1_click(event) {
    wixData.get("Events", "the_event_id")
      .then( (results) => {
        let item = results;
        let toSave = {
           "_id": "the_event_id",
           "clicksCount":   item.clicksCount++
        };

        wixData.update("Events", toSave)
    })
}

现在您需要添加 button1_click 作为按钮的 onClick 处理程序(在 wixCode 属性面板中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2015-08-20
    • 2015-07-10
    相关资源
    最近更新 更多