[英]Internet Explorer Extensions
我從以下來源創建了IE擴展: 如何開始開發Internet Explorer擴展? 而且效果很好。 但是我想改變
int IOleCommandTarget.Exec(IntPtr pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
{
var form = new HighlighterOptionsForm();
form.InputText = TextToHighlight;
if (form.ShowDialog() != DialogResult.Cancel)
{
TextToHighlight = form.InputText;
SaveOptions();
}
return 0;
}
對此:
int IOleCommandTarget.Exec(IntPtr pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
{
HTMLDocument document = (HTMLDocument)browser.Document;
IHTMLElement head = (IHTMLElement)((IHTMLElementCollection)
document.all.tags("head")).item(null, 0);
IHTMLScriptElement scriptObject =
(IHTMLScriptElement)document.createElement("script");
scriptObject.type = @"text/javascript";
var text = @"alert('hello') ";
scriptObject.text = "(function(){" + text + "})()";
((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject);
return 0;
}
但是,當我建立它,並單擊按鈕。 我沒有給我警報消息。 我只想注入腳本。 任何想法或技巧...解決此問題
它不起作用,因為添加到文檔中的腳本標簽不會自動評估。
您必須手動評估腳本,如下所示:
var document = browser.Document as IHTMLDocument2;
var window = document.parentWindow;
window.execScript(@"(function(){ alert('hello') })()");
另外,您根本不需要添加script標簽...只需使用window.execScript
執行腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.