I was curious to see how they determine whether a page is browsed locally or not. Looking into the source, I was a bit dissapointed to find nothing but plain common sense. The trick is comparing the protocol of the current location with known local protocols.
if ( location.protocol.substr(0,4) === 'file' || location.protocol.substr(0,11) === '*-extension' || location.protocol.substr(0,6) === 'widget' ) { // Disable AJAX support etc }If you would want to use that check in multiple locations in your codebase, you might want to extend the location object with an isLocal function.
window.location.constructor.prototype.isLocal = function() {
return this.protocol.substr(0,4) === 'file' ||
this.protocol.substr(0,11) === '*-extension' ||
this.protocol.substr(0,6) === 'widget';
}
The function could be used like this.if (window.location.isLocal()) { // Disable AJAX support etc }
Hi This is great info. But can you please tell about how to disable this. I have created a game which after being published is checking whether it is running locally through this mode. How do i disable this. I removed this script but the file index.html is running in mozilla but not in chrome.
ReplyDeleteDo you have an idea of why this is happening
I don't understand your question. What is it you want to disable?
Delete