Я работаю с элементом управления WPF WebBrowser
, который отличается от версии WinForms, и многие рекомендации с этого превосходного веб-сайта просто не работают в WPF.
Как переписать функцию JavaScript btnSubmit_onclick()
на веб-странице?
Эта функция генерирует диалоговое окно подтверждения (например, «Вы уверены?»), Которое я хочу обойти. По сути, я хочу добавить новую функцию btnSubmit_onclick()
, которая заменит существующую, и я могу пропустить раздражающее диалоговое окно подтверждения. У меня есть доступ к MSHTML и всем объектам страницы, но я не могу вставить скрипт в заголовок страницы. Пока у меня есть:
mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser.Document;
mshtml.IHTMLElementCollection heads = doc.all.tags("head") as mshtml.IHTMLElementCollection;
mshtml.IHTMLElement head = heads.item(null, 0) as mshtml.IHTMLElement;
mshtml.IHTMLElement se = doc.createElement("script") as mshtml.IHTMLElement;
se.innerHTML = "function btnSubmit_onclick() { alert('here we are'); }";
Но теперь мне нужно внедрить этот новый элемент сценария в объект head перед другими другими сценариями, и я надеюсь, что он запишет существующую функцию btnSubmit_onclick()
ниже по течению.
Я неудачно попробовал head.injectAdjusentHTML, который отказывается вставлять любой скрипт в заголовок, даже если я использую свойство DEFER.
Как я могу это сделать?