Vědět, zda window.close() zobrazí bezpečnostní varování

V IE7 se otevřelo podřízené okno s window.open může se zavřít pomocí window.close() , ale otevřelo se okno s <a href=... target=_blank> zobrazí bezpečnostní varování, pokud se podřízené okno pokusí samo zavřít.

V mé aplikaci nevím, jak se moje podřízené okno otevírá, a potřebuji vědět (v kódu JavaScript podřízeného okna), zda mohu použít window.close() nebo ne. Existuje způsob? Další způsob, jak položit otázku, je – existuje v IE způsob, jak rozlišit mezi oknem otevřeným pomocí window.open vs okno otevřené pomocí target=_blank .

Zkusil jsem zkontrolovat window.opener ale v obou případech tam je nějaká hodnota, takže mi to nedovoluje tyto dva případy rozlišovat.

Odpověď

Zdroj:Zavřít okno bez výzvy v IE7

Takto se vyhnete výzvě podle stránky výše:

function WinClose(){
    window.open('','_self','');
    window.close();
}

<a href="#" onclick="WinClose();return false;">Close</a>

Je toto možný přístup pro vaši stránku?