So I am working on a Firefox Extension and did not want my overlay to load in iframe on a page. After searching around I found this little bit of code that will tell you based on the DOMContentLoaded event.
function isTopLevelWindow(event)
{
var window_interface =
window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);
var doc = event.target;
for (var i = 0; i < window_interface.gBrowser.browsers.length; i++) {
if (window_interface.gBrowser.browsers[i].contentDocument == doc) {
return true;
}
}
return false;
}
