Skip to content

Instantly share code, notes, and snippets.

@jed
Forked from 140bytes/LICENSE.txt
Created August 30, 2011 23:01
Show Gist options
  • Save jed/1182343 to your computer and use it in GitHub Desktop.
Save jed/1182343 to your computer and use it in GitHub Desktop.
isSameOrigin
function(){
// will annotate once complete
}
function(a,b,c){b=document.createElement("a");b.href=a;return(a=location)[c="protocol"]==b[c]&&a[c="hostname"]==b[c]&&+a.port||80==+b.port||80}
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2011 YOUR_NAME_HERE <YOUR_URL_HERE>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.
{
"name": "isSameOrigin",
"description": "Determines whether a URL has the same origin as the current browser page.",
"keywords": [
"url",
"uri",
"origin",
"same-origin",
"browser"
]
}
<!DOCTYPE html>
<title>Same-origin tester</title>
<div>Expected value: <b>true</b></div>
<div>Actual value: <b id="ret"></b></div>
<script>
var myFunction = function(a,b,c){b=document.createElement("a");b.href=a;return(a=location)[c="protocol"]==b[c]&&a[c="hostname"]==b[c]&&+a.port||80==+b.port||80}
document.getElementById( "ret" ).innerHTML = myFunction("//gist.github.com:80")
</script>
@jed
Copy link
Author

jed commented Jun 14, 2012

good work, @adriengibrat. let us know if you find something.

@adriengibrat
Copy link

function λ(l){with(λ.a||(λ.a=document.createElement("a")))return href=l,host=host,!href.indexOf(/^.*?\w\//.exec(location)[0])}

127 bytes, use a cached dom link node.
Still does'nt work on IE6 (4.5%) & Safari 4 (lt 0.5%), but both browsers have no/buggy CORS implementation, so who cares?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment