JS: varför funkar inte denna if...else?
Först av allt, jag kan inte javascript särskilt bra, men lyckas alltid pussla ihop enklare script med hjälp av tutorials och jättelånga trial/error sessioner. Men nu har jag stött på en if...else if
som inte funkar och som jag inte lyckas reda ut. Detta är i en webextension för Firefox, baserad på Mozillas Your second extension (men otroligt nerskalad).
Jag har en variabel som växlar i värde beroende på vad man tidigare har klickat på. Men när jag kommer till reset()
lyckas jag inte få testet att funka. Oavsett variabelns värde så exekveras if
, även om det borde vara else if
som exekveras. Fattar noll.
$printifyMode
kan ha strängvärdet text eller images. I början av reset()
kollar jag för säkerhets skull vilket värde den har för tillfället. Men oavsett om det poppar upp "text" eller "images" i konsolen så är nästa konsolmeddelande "resetmode is text", d.v.s., den första if
valideras som sann även när strängvärdet är "images". Vad gör jag för fel? Har provat att använda integers också men problemet kvarstår.
function reset() {
console.log(printifyMode);
if (printifyMode = "text") {
console.log("resetmode is text");
CSSremove = 'printifyText';
}
else if (printifyMode = "images") {
console.log("resetmode is images");
CSSremove = 'printifyImagesToo';
}
browser.tabs.removeCSS({code: CSSremove});
}