Getting "Unsafe JavaScript attempt to access frame" error
WebKit nightlies (but not Firefox 3+) give me an "Unsafe JavaScript attempt to access frame" error (not impacting any of the function of the code though) when I try to send messages to iframes on different domains. I'm not reading anything from the frame. Could someone tell me why I'm getting this error? Even if I am trying to access data from the iframe somewhere, the "Access-Control-Allow-Origin: *" header should make it fine.
Here is my code (which I have hosted on http://code.sephr.net/jdata/demo1.html):
PHP Code:
var $tempMessageListener,
jDataServer = 'http://jdata.eligrey.com',
jDataEnableHash = false;
var jDataLoadFlags = jDataEnableHash ? '/?hash':'/';
var jDataFrame = document.createElement('iframe');
jDataFrame.setAttribute('src', jDataServer+jDataLoadFlags);
jDataFrame.setAttribute('style', 'display:none');
document.documentElement.appendChild(jDataFrame);
function jDataQuery(query, callback) {
if (callback) { $tempMessageListener = function(e){ getNextjDataResponse(e, callback); } }
else { $tempMessageListener = function(e){ getNextjDataResponse(e); } }
window.addEventListener("message", $tempMessageListener, false);
jDataFrame.contentWindow.postMessage(query, '*');
};
function getNextjDataResponse(e, callback) {
if ( e.origin == jDataServer ) { // Make sure that this is a jData response
window.removeEventListener("message", $tempMessageListener, false);
if (callback) { callback((e.data != 'null' && e.data != 'undefined')?e:undefined); }
$tempMessageListener = undefined;
}
};