Webkit.net открывает новые вкладки и окна

Я легко могу сделать это, используя контекстное меню webkit.net:

private void browser1_NewWindowRequest(object sender, WebKit.NewWindowRequestEventArgs e)
{
    ((Form1)MdiParent).AddTab(e.Url.ToString());
}

Однако newWindowrequesteventargs e возвращает null для событий javascript, которые запрашивают новые вкладки / окна, я могу что-то исправить, просто щелкнув правой кнопкой мыши, затем щелкнув "открыть ссылку", которая фактически открывает ее в новой вкладке или окне (как при нажатии обычной кнопки "Открыть"). в новом окне "). Следующее по-прежнему не работает вообще для кнопок, которые предлагают новые окна только гиперссылки

private void browser1_NewWindowRequest(object sender, WebKit.NewWindowRequestEventArgs e)
{
    if (e.Url.ToString() != null)
    {
        ((Form1)MdiParent).AddTab(e.Url.ToString());
    }
    else
    {
        //I just need to stimulate the mouse right clicking and then left clicking for this to work but this still does not work for buttons, how can I get the link from the element the mouse is over?
    }
}

Это гипотетически будет работать только со ссылками, а не с кнопками, поэтому я пытался найти метод, выполняемый с помощью пункта меню "Открыть ссылку" в собственном контекстном меню элемента управления. Я просматривал источник webkit.net, но я не могу ничего найти, может кто-нибудь мне помочь? Я хочу добавить webkitbrowser1.OpenLink(); для элемента управления, который будет выполнять те же вещи, нажав пункт меню "Открыть ссылку".

1 ответ

Я решил контекстное меню, в событии newwindowrequest вы просто помещаете e.Url.Tostring(), чтобы получить текущий URL, и используете свой собственный метод добавления вкладки или метод окна, чтобы перейти к нему. Все еще не уверен в JavaScript

Другие вопросы по тегам