をオーバーライドしようとしてwindow.open()いるので、。なしで新しいウィンドウでリンクを開く方法を見つけようとしていますwindow.open()。
詳細には、私はそのような状況にありHTMLWindow.Navigate()ます。新しいウィンドウでハイパーリンクを開くために使用するSilverlight Webパーツを<a>持っているので、Webパーツを完全に制御できないため、使用できません。唯一の方法は、をオーバーライドすること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()ます。たとえば、「target」がクエリ文字列を受け取る変数であるとします。デフォルトの動作は、現在のウィンドウでリンクを開くことであることに注意してください。
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);
}