-
Notifications
You must be signed in to change notification settings - Fork 3
Description
We have run into a set of issues when testing IE9.
According to the discussion below the front end needs to be https in order to
interact with the userapp, since there is a known limitation in IE9..
When we get past that issue (by using https on the front end) we run into another
issue in userapp.client.js where you are calling xhr.setRequestHeader which
does not exist on the XDomainObject. If you comment that out (which looks valid to do) then you run into another issue where you get 'Unable to load '
https://app.userapp.io/v1/user.login'
It appears that the client library does not currently support either IE9 or IE8? These two versions account for approximately 30% of all browsers.
Thanks in advance, Tim.
See the following, I have included the relevant section #7
http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx
#7
7. Requests must be targeted to the same scheme as the hosting page
This restriction means that if your AJAX page is at http://example.com,
then your target URL must also begin with HTTP. Similarly, if your AJAX
page is at https://example.com, then your target URL must also begin with
HTTPS.
It was definitely our intent to prevent HTTPS pages from making
XDomainRequests for HTTP-based resources, as that scenario presents a Mixed
Content Security Threat
http://blogs.msdn.com/ieinternals/archive/2009/06/22/HTTPS-Mixed-Content-in-IE8.aspx
which many developers and most users do not understand.
However, this restriction is overly broad, because it prevents HTTP pages
from issuing XDomainRequests targeted to HTTPS pages. While it’s true that
the HTTP page itself may have been compromised, there’s no reason that it
should be forbidden from receiving public resources securely.
Worst of all, the Same Scheme restriction means that web developers testing
their pages locally using the file:// scheme will find that all of the
XDomainRequests are blocked because file:// doesn’t match either http:// or
https://, which are the only valid target schemes (point #1). To workaround
this issue, web developers must host their pages on a local web server
(e.g. IIS, the Visual Studio hosting server, etc).