Mit parent.frames.length wird die Anzahl der vorhandenen Frames gezählt.
Wenn die Frameseite in einem eigenen Fenster aufgerufen, passiert gar nichts.

Wird diese Frameseite in einem fremden Frame aufgerufen, wird automatisch die eigene Framedatei (index.htm) in das Hauptfenster geladen.
Die Javascript-Funktion kommt in den Head der eigenen Framedatei und wird beim Laden aufgerufen.

Demo: Die eigene Frameseite in einem fremden Frame öffnen

Und hier der Quelltext:

function framecheck() {
 a = parent.frames.length;
 if(a != 3)parent.location.href="../index.htm";
 }
\|/
- -
C(o,o)D
o
---o0o--o0o---