| Summary: | RAP based applications do not load in Microsoft Edge (Windows 10) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Thomas Hendel <hendel> | ||||
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | michael.froeschen, mknauer, tbuschto | ||||
| Version: | 3.0 | ||||||
| Target Milestone: | 3.1 M1 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 8 | ||||||
| Whiteboard: | SR301 | ||||||
| Attachments: |
|
||||||
|
Description
Thomas Hendel
Created attachment 255535 [details]
Screenshot after switching to IE11 emulation
Added a screenshot of edge's developer console showing the JS errors that were raised after switching to IE11 emulation
I tested RAP 3.0 with the Windows 10 TP, and that worked fine. I will try again once I have the final version installed. (Hopefully in a few days) I tried to debug it:
An exception is thrown when rap-client.js evaluates browser settings.
Affectetd code in rap-client.js (10,6001):
{var c=(this._engineName===_[109])?navigator.userLanguage:navigator.language;var b=c.toLowerCase(); ...
The value of "this._engineName" and "_[109]" both are "trident", so the compare operation yields true.
But "navigator.userLanguage" is undefinded. This leads to the exception at the next statement.
Well, "navigator.language" *is* defined (and set to "de-DE" in my case).
By the way: the user agent string (navigator.userAgent) is
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240".
So it should be possible to identify "Edge". I guess, that Edge should be the only browser that has "Edge" in the user agent string :-)
Fixed with commit 1ef67157a0a92b4bfe08998ad0273d7d1a9a8659. Edge was correctly detected, they just removed that userLanguage string. Is there a reason why this is not done for the Service Releases? Just checked. It's fixed in SR1 too. |