Как заменить текст в значении хранилища сессии, используя jquery - PullRequest
0 голосов
/ 11 марта 2020

Я работаю над отображением пути навигации

Панель инструментов> BusinessSelection> TaxPeriod> VehCategories> VehTaxable

, для которого я использую хранилище сеансов. В пути навигации я хочу заменить некоторый текст. Например: «VehCategories» вместо отображения «Категория». Но где я делаю ошибку, я не могу понять. Я написал условие if

if (text == "VehCategories") {
            text = "Category";
        }

, и текст, который я храню в хранилище сеансов для этого кода, находится ниже

if (typeof (Storage) != "undefined") {
            if (sessionStorage.breadcrumb) {
                var breadcrumb = sessionStorage.breadcrumb;
                if (breadcrumb.indexOf(text) == -1) {
                    sessionStorage.breadcrumb = breadcrumb + " > <a href='" + pageName1 + "' id='" + filename + "'>" + text + "</a>";
                    var current = sessionStorage.getItem('breadcrumb');
                    alert(current);
                    sessionStorage.setItem('breadcrumb', current);
                }
            } else {
                sessionStorage.breadcrumb = "<a href='" + pageName1 + "'>" + text + "</a>";
            }
        }

все работает нормально. но только заменив строку я столкнулся с проблемой. После замените строку окончательного результата, показанную ниже:

Панель инструментов> BusinessSelection> TaxPeriod> Ca

Пожалуйста, помогите мне, я борюсь за лот.

1 Ответ

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

Я думаю, что предпочтительным способом было бы сохранить его как проанализированный массив и затем проанализировать его:

sessionStorage.setItem('breadcrumb',JSON.stringify([1,2,3]))
console.log(JSON.parse(sessionStorage.getItem('breadcrumb')))

Чем после манипулирования элементами массива вы можете построить html с помощью Array.reduce .

...