簡體   English   中英

在Wix HTML元素中使用本地存儲(JavaScript)

[英]Using local storage (JavaScript) in a Wix HTML element

我使用Google Charts在Wix頁面上創建了一個HTML元素。 我的網頁訪問者需要填寫調查表,其想法是通過餅圖將結果提供給他們。 這是我的HTML元素代碼的一部分:

<script type="text/javascript">

var ctx = document.getElementById('myChart').getContext('2d');
var myPieChart = new Chart(ctx,{
    type: 'pie',
    data: {
        labels:["Rodeo", "Calypso", "Balthazar", "Luna", "Kiara", "Mistral", "Saya"],
        datasets: [{
            data: [10, 20, 30, 20, 25, 40, 15],
            backgroundColor: ["#f97a03", "#52aff0", "#35a11d", "#f052e4", "#853fc2", "#f0f712", "#092978"],
        }]
    },
    options: {}
});

</script>

上面的代碼效果很好,我可以在網頁上看到圖表。 現在,我不再使用預定的數據(例如上面的10、20、30、20、25、40、15),而是使用其值存儲在LocalStorage JavaScript中的變量(變量名稱與上述標簽相同,但以“ loc”作為前綴)。

我試過了:

data: [local.getItem("locrodeo"), local.getItem("loccalypso"), 
local.getItem("locsaya"), local.getItem("locbalthazar"),
local.getItem("locluna"), local.getItem("lockiara"), 
local.getItem("locmistral")],

但我認為API在wix HTML組件下不能與JS一起使用。 所以我想我需要從頁面代碼向其中包含信息的HTML元素發送一條消息。 有誰知道這是怎么做到的嗎?

從Wix幫助中心,我發現我需要發送如下消息:

$w("#myHtmlElement").postMessage("Message for HTML Comp");

然后我需要在我的HTML元素中編寫代碼來接收信息:

<script type="text/javascript">
  window.onmessage = (event) => {
    if (event.data) {
       let receivedData = event.data;
    }
  };

  //...

</script>

為了清楚起見,我的目標是讓餅圖顯示locrodeo,loccalypso,locsaya,locluna,locbalthazar,locmistral和lockiara變量的值(存儲在本地存儲JS中)。

這個例子正是您想要做的事情: https//www.wix.com/code/home/example/Chart

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM