Substituir window.open ()

Estou tentando substituirwindow.open(), então estou tentando encontrar uma maneira de abrir o link em uma nova janela semwindow.open().

Em detalhes, estou em tal situação: Eu tenho uma Web Part do Silverlight que usaHTMLWindow.Navigate() para abrir hyperlinks em uma nova janela, então não posso usar<a> porque eu não tenho controle total sobre a Web part. A única maneira é substituirwindow.open().

Por exemplo, quando eu quero abrir o link na janela superior, eu sobrescrevowindow.open() como isso:

window.open = function (open) {
    return function (url, name, features) {
            window.top.location = url;    
            return false;
       };
    }(window.open);

Existe um método semelhante para abrir o link em uma nova janela? Muito obrigado!

PS: Eu não posso usar âncora aqui porque estou dominandowindow.open()

O que eu fiz finalmente para este problema:

Em primeiro lugar, fiz uma cópia dowindow.open()

var _open = window.open;

Então eu anulo owindow.open() função. Suponha que "target" seja uma variável que recebe querystring, por exemplo. Observe que o comportamento padrão é abrir o link na janela atual.

if (target == "top")
    {
        window.open = function (open) {
            return function (url, name, features) {
                window.top.location = url;
                return false;
           };
        }(window.open);
    }
else if (target == "blank")
{
    window.open = function (open) {
            return function (url, name, features) {
                return open_(url, '_blank', features);
           };
        }(window.open);
}

questionAnswers(1)

yourAnswerToTheQuestion