diff --git a/dev/xdomain_cookie.dev.js b/dev/xdomain_cookie.dev.js index 868bf23..2f2baf4 100644 --- a/dev/xdomain_cookie.dev.js +++ b/dev/xdomain_cookie.dev.js @@ -184,9 +184,16 @@ var ifr = document.createElement('iframe'); ifr.style.display = 'none'; ifr.id = 'xdomain_cookie_'+_id; + + var origin = window.location.origin; + //IE fix + if(!origin){ + origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: ''); + } + var data = { namespace: _namespace, - window_origin: window.location.origin, + window_origin: origin, iframe_origin: iframe_path, debug: _debug }; diff --git a/package.json b/package.json index 6a229b7..55d9919 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xdomain-cookies", - "version": "1.0.7", + "version": "1.0.8", "repository": { "type": "git", "url": "git+https://github.com/contently/xdomain-cookies" diff --git a/src/xdomain_cookie.js b/src/xdomain_cookie.js index deab213..3aed312 100644 --- a/src/xdomain_cookie.js +++ b/src/xdomain_cookie.js @@ -1,4 +1,4 @@ -/* Version 1.0.7 xdomain-cookies (http://contently.github.io/xdomain-cookies/) from Contently (https://github.com/contently) */ +/* Version 1.0.8 xdomain-cookies (http://contently.github.io/xdomain-cookies/) from Contently (https://github.com/contently) */ (function(exports) { "use strict"; @@ -186,9 +186,16 @@ var ifr = document.createElement('iframe'); ifr.style.display = 'none'; ifr.id = 'xdomain_cookie_'+_id; + + var origin = window.location.origin; + //IE fix + if(!origin){ + origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: ''); + } + var data = { namespace: _namespace, - window_origin: window.location.origin, + window_origin: origin, iframe_origin: iframe_path, debug: _debug }; diff --git a/src/xdomain_cookie.min.js b/src/xdomain_cookie.min.js index 10c4c61..d850076 100644 --- a/src/xdomain_cookie.min.js +++ b/src/xdomain_cookie.min.js @@ -1,3 +1,3 @@ -/* Version 1.0.7 xdomain-cookies (http://contently.github.io/xdomain-cookies/) from Contently (https://github.com/contently) */ +/* Version 1.0.8 xdomain-cookies (http://contently.github.io/xdomain-cookies/) from Contently (https://github.com/contently) */ -!function(exports){"use strict";var xDomainCookie=function(iframe_path,namespace,xdomain_only,iframe_load_timeout_ms,secure_only,debug){function _log(){_debug&&(arguments[0]=":XDC_PAGE: "+arguments[0],console.log.apply(console,arguments))}function _inbound_postmessage(event){_log("_inbound_postmessage",event.origin,event.data);var origin=event.origin||event.originalEvent.origin;if(iframe_path.substr(0,origin.length)===origin&&"string"==typeof event.data){var data=null;try{data=JSON.parse(event.data)}catch(e){}"object"!=typeof data||data instanceof Array||"msg_type"in data&&"xdsc_read"===data.msg_type&&"namespace"in data&&data.namespace===_namespace&&(_xdomain_cookie_data=data.cookies,_iframe_ready=!0,_fire_pending_callbacks())}}function _iframe_load_error_occured(){_log("_iframe_load_error_occured"),_iframe_load_error=!0,_fire_pending_callbacks()}function _on_iframe_ready_or_error(cb){_callbacks.push(cb),_fire_pending_callbacks()}function _fire_pending_callbacks(){if(_iframe_load_error||_iframe_ready)for(;_callbacks.length>0;)_callbacks.pop()(_iframe_load_error)}function _set_cookie_in_iframe(cookie_name,cookie_value,expires_days){var data={namespace:_namespace,msg_type:"xdsc_write",cookie_name:cookie_name,cookie_val:cookie_value,expires_days:expires_days,secure_only:_secure_only};_log("_set_cookie_in_iframe",data),document.getElementById("xdomain_cookie_"+_id).contentWindow.postMessage(JSON.stringify(data),iframe_path)}function _get_local_cookie(cookie_name){for(var name=cookie_name+"=",ca=document.cookie.split(";"),i=0;i0;)_callbacks.pop()(_iframe_load_error)}function _set_cookie_in_iframe(cookie_name,cookie_value,expires_days){var data={namespace:_namespace,msg_type:"xdsc_write",cookie_name:cookie_name,cookie_val:cookie_value,expires_days:expires_days,secure_only:_secure_only};_log("_set_cookie_in_iframe",data),document.getElementById("xdomain_cookie_"+_id).contentWindow.postMessage(JSON.stringify(data),iframe_path)}function _get_local_cookie(cookie_name){for(var name=cookie_name+"=",ca=document.cookie.split(";"),i=0;i