#c# #javascript #jquery #internet-explorer #bho
#c# #javascript #jquery #internet-explorer #bho
Вопрос:
Я создал расширение IE на C #. Основное, что он делает, — это просто изменяет содержимое страницы после ее загрузки, в основном выделяя некоторый тип текста. Итак, у меня есть onDocumentComplete
обработчик, который добавляет некоторый javascript в <head>
часть страницы, также jquery-1.4.4.min.js:
public void OnDocumentComplete(object pDisp, ref object URL)
{
HTMLDocument document = (HTMLDocument)webBrowser.Document;
IHTMLElement head = (IHTMLElement)((IHTMLElementCollection)document.all.tags("head")).item(null, 0);
IHTMLScriptElement scriptObject3 = (IHTMLScriptElement)document.createElement("script");
scriptObject3.text = "/js/jquery-1.4.4.min.js";
scriptObject3.type = @"text/javascript";
((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject3);
IHTMLScriptElement scriptObject2 = (IHTMLScriptElement)document.createElement("script");
scriptObject2.type = @"text/javascript";
scriptObject2.text = "(function($) {
$.fn.replaceText=function(b,a,c) {
return this.each(function() {
var f=this.firstChild,g,e,d=[];
if(f) {
do {
if(f.nodeType===3) {
g=f.nodeValue;
e=g.replace(b,a);
if(e!==g){
if(!camp;amp;/</.test(e)) {
$(f).before(e);
d.push(f)
}
else {
f.nodeValue=e
}
}
}
} while(f=f.nextSibling)
}
d.lengthamp;amp;$(d).remove()
})
}
})(jQuery);";
((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject2);
...
}
итак, оба скрипта загружены, но не работают, я имею в виду, что второй скрипт использует jquery (первый скрипт), расширение для chrome, которое добавляет те же скрипты, работает, поэтому я думаю, не проблема ли это с IE.
Комментарии:
1. Вы нашли решение?