Переопределить window.open ()

я пытаюсь переопределитьwindow.open(), так что я'Я пытаюсь найти способ открыть ссылку в новом окне без.window.open()

Подробно ям в такой ситуации: яу нас есть веб-часть Silverlight, которая используетHTMLWindow.Navigate() открыть гиперссылки в новом окне, поэтому я не могу использовать<a></a> потому что я'У нас нет абсолютно никакого контроля над веб-частью. Единственный способ - переопределить.window.open()

Например, когда я хочу открыть ссылку в верхнем окне, я перезаписываюwindow.open() как это:

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

Есть ли подобный способ открыть ссылку в новом окне? Большое спасибо!

PS: я не могу использовать якорь здесь, потому что ям переопределениеwindow.open()

Что я наконец сделал для этой проблемы:

Во-первых, я сделал копиюwindow.open()

var _open = window.open;

Затем я отменяюwindow.open() функция. Если предположить, что "цель» переменная, которая получает строку запроса, например. Обратите внимание, что поведение по умолчанию заключается в открытии ссылки в текущем окне.

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);
}

Ответы на вопрос(1)

Ваш ответ на вопрос