2014-09-20 2 views
0

Я делаю базовое веб-приложение (уровень новичка), текстовый редактор. В любом случае, используя localStorage, я сохраняю текст, размер шрифта и семейство шрифтов. Все это работает без проблем. Но у меня есть кнопка для переключения между sans-serif и serif, и когда текст находится в засечке, появляется только кнопка sans-serif, и, конечно же, наоборот. Это тоже работает, но по какой-то причине он не работает в Firefox, используя условие ниже. В Chrome работает отлично, это странно.JS условно работает на Chrome, но не на Firefox

Я использовал два console.logs, чтобы узнать, что происходит, и что бы ни случилось, Firefox всегда невнимателен к заявлению «else».

Любые идеи?

Спасибо!

function fontButton() { 
    if (window.localStorage.getItem('storedFontFamily') == "'Exo 2', 'Helvetica Neue', Helvetica, Arial, sans-serif" || editor.style.fontFamily == "'Exo 2', 'Helvetica Neue', Helvetica, Arial, sans-serif") { 
     console.log("if statement"); 
     sansSerifFont.style.display = "none"; 
     serifFont.style.display = "inline-block"; 
    } else { 
     console.log("else statement"); 
     serifFont.style.display = "none"; 
     sansSerifFont.style.display = "inline-block"; 
    } 
} 
+0

Вы пробовали консоль регистрировать значения, которые вы тестируете в тесте if? – nnnnnn

+0

Да, на ff: "" Экзо 2 "," Helvetica Neue ", Helvetica, Arial, sans-serif" на хром: Лора, Джорджия, 'Times New Roman', засечка – nakkeru

+0

Итак, вы говорите, что зарегистрированы значения, которые _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ – nnnnnn

ответ

0

Возможно, проблема в двойных/одинарных кавычках? Мне кажется, что в этом случае лучше использовать regexp-тестирование, если в строке есть «sans-serif».

if(/sans-serif/.test(window.localStorage.getItem('storedFontFamily'))) { 
    //... 
} else { 
    //... 
} 
Смежные вопросы