Хранить значения с помощью localStorage

Мне нужно немного помощи здесь. На этой странице я хочу создать собственные теги ссылок с изображением. Когда вы нажимаете на свое изображение, вы переходите на ту страницу, которую вы выбрали. Я думаю, что я почти закончил, но это не работает! Что я сделал не так?! Когда я щелкаю элемент img, чтобы открыть новую страницу, изображение всплывает..

<head>
    <meta charset="utf-8">
    <title>Min Startsida</title>
    <script type="text/javascript">

        function newLink() {
            var myNewLink = document.getElementById("link");
                localStorage.setItem(link, myNewLink.value)
        };
        function newIcon() {
            var myNewIcon = document.getElementById("icon");
                localStorage.setItem(icon, myNewIcon.value)
        };
            function varIcon() {
                document.getElementById("image").src = localStorage.getItem(icon)
      };
    </script>
</head>
<body>
    <form>
        <h1>lägg till länk</h1><br />
        <input type="text" id="link"><br />
        <input type="text" id="icon"><br />
        <button onClick="newLink(), newIcon()">lägg till länk</button>
    </form>
    <section>
        <a href="#" onClick="location.href = localStorage.getItem(link)"><img src="#" id="image" onLoad="varIcon()"></a>
    </section>
</body>

1 ответ

Решение

Это должна быть строка:

localStorage.setItem("link", myNewLink.value)
                      ^^^^

здесь происходит то, что элемент используется в качестве ключа, а ссылка используется в качестве идентификатора - ключ должен быть строкой. Это касается как setItem методы и getItem а также то, что вы используете позже:

<a href="#" onClick="location.href = localStorage.getItem('link')">

Алос, это должно быть разделено полуколонкой:

 <button onClick="newLink(); newIcon()">
                           ^

(Я не смотрел дальше, чем эти пункты)

Другие вопросы по тегам