Wixcode "статический" HTML iframe - PullRequest
0 голосов
/ 03 марта 2019

Извинения, если это не то место, где можно опубликовать это.Я абсолютно новичок в HTML и тому подобном, но я хотел разместить на своем веб-сайте кнопку, которая бы запомнила, сколько раз она была нажата, и каждый раз, когда кто-то нажимает ее, она дает вам число, например, следующее простое число.С достаточным количеством Google мне удалось собрать некоторые (что я ожидаю, действительно плохой код), который я думал, может сделать это.Это то, что у меня есть (извините, если он не отформатирован правильно, у меня были проблемы с копированием).

<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>

Проблема в том, что когда я помещаю этот код в iframe на моем wixsite, кажется, что он перезагружаеткод каждый раз, когда вы смотрите на сайт, чтобы он снова запускал счетчик.Что бы я хотел сказать, кнопка была нажата 5 раз, она останется на 5, пока не придет следующий посетитель и не нажмет его.Возможна ли такая вещь?

1 Ответ

0 голосов
/ 11 марта 2019

На самом деле для этого вам не нужен 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).

...