FriendlyIFrameとかSafeframeとか。
自分で使ってるやつを置いておく。SF系はこれから拡充する。
### scriptを囲んでいるFriendlyIFrameを取得したい
var fif = window.frameElement;
### scriptがiframe(FriendlyIFrameやSafeframe)に囲われているかどうかの判定をしたい
if(window !== parent) {
// iframe
if(window.$sf) {
// safeframe
} else if(window.frameElement) {
// friendly-iframe
} else {
// other-iframe
}
} else {
// not iframe
}
inDapIF
は判定に使っていない。稀に設定してない人がいるので……
### リファラーを取得したい
var url;
if (window.$sf) {
// safeframe
url = document.referrer;
} else if(window.frameElement){
// friendly-iframe
url = window.top.location.href;
} else {
// other
url = window.location.href;
}
### 複数のFriendlyIFrameに囲われている時に、最も親のFriendlyIFrameにアクセスしたい
var w = window.window;
while(w.parent.frameElement) {
w = w.parent.window;
}
var fif = w.frameElement;
最近それっぽく作ったやつ。