Rise, детектится.
При sandbox="allow-scripts", document.domain выдаст пустую строку. Без sandbox выдаёт родительский домен.
function isSandboxed() {
var frame;
if(window !== window.parent) {
try {
frame = window.frameElement;
}
catch(e) {
frame = null;
}
if(frame === null) {
if(document.domain === '' && window.location.protocol !== 'data:') {
return true;
}
}
}
return !!frame && frame.hasAttribute('sandbox');
}