$window.location.origin
returns the wrong value on IE.
The origin property returns the protocol, hostname and port number of a URL.
Example
url: http://localhost:8080/products/search
Chrome:
$window.location.origin
returns http://localhost:8080
IE:
$window.location.origin
returns http://localhost:8080/products/search
How can I have the right value on IE?
Definition and Usage The origin property returns the protocol, hostname and port number of a URL.
window. location is read/write on all compliant browsers. document. location is read-only in Internet Explorer (at least), but read/write in Gecko-based browsers (Firefox, SeaMonkey).
The window.location object can be used to get the current page address (URL) and to redirect the browser to a new page.
You may also need the port number. If so, you can use this polyfill
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//"
+ window.location.hostname
+ (window.location.port ? ':' + window.location.port : '');
}
This polyfill is already part of Modernizr.
The problem (as usual) is IE that does not have window.location.origin
Instead try to use something like:
var root = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
Or you can add on top of your javascript this code so you don't have to bother about it
if (!window.location.origin) {
window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With