【发布时间】:2014-09-20 14:00:29
【问题描述】:
我正在制作一个基本的网络应用程序(请注意新手级别),一种文本编辑器。无论如何,使用 localStorage 我保存了文本、字体大小和字体系列。 所有这些都有效,没问题。但是,我有一个按钮可以在无衬线和衬线之间切换,当文本为衬线时,只会出现无衬线按钮,当然,反之亦然。这也有效,但由于某种原因,它在使用下面的条件的 Firefox 中不起作用。在 Chrome 中运行良好,这很奇怪。
我使用了两个 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";
}
}
【问题讨论】:
-
您是否尝试过控制台记录您在 if 测试中测试的值?
-
是的,在 ff 上:""Exo 2","Helvetica Neue",Helvetica,Arial,sans-serif" on chrome: Lora, Georgia, 'Times New Roman', serif
-
所以您所说的记录的是与您测试的字符串文字不匹配的值,这就是它总是转到 else 语句的原因。
-
是的,但为什么 FF 返回不同的值?这就是我不明白的......我期待在 IE 中像这样兴...但是 FF?
标签: javascript firefox local-storage conditional