In tutto il codice usi indexOf .. != -1, per Edge invece usi > -1 ... Perchè?
Ad ogni modo, leggi questa doc che spiega abbastanza bene come intercettare le info sul browser in uso
docs.microsoft.com/en-us/microsoft-edge/web-platform/user-agent-guidance