c# – 如何将本地脚本文件添加到WebBrowser控件的HTML?

前端之家收集整理的这篇文章主要介绍了c# – 如何将本地脚本文件添加到WebBrowser控件的HTML?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这似乎真的很笨.我已经尝试了一堆不同的方式,它只是没有工作.我有一个WinForms应用程序与WebBrowser控件.如果我使用相同的src字符串在桌面上尝试使用原始的html文件,那么我放在一起的src工作正常.但是将相同的东西插入WebBrowser控件将无法正常工作.

这是我的代码

  1. HtmlElementCollection head = this.wbPreview.Document.GetElementsByTagName( "head" );
  2. if (head != null)
  3. {
  4. HtmlElement elm = this.webBrowserControl.Document.CreateElement("script");
  5. string mySource = Environment.CurrentDirectory + @"\MyScriptFile.js";
  6. elm.SetAttribute("src",mySource);
  7. elm.SetAttribute("type","text/javascript");
  8. ((HtmlElement)head[0]).AppendChild(elm);
  9. }

WebBrowser没有得到脚本.但是,如果我将“mySource”更改为外部资源(通过http://),则可以正常工作!

帮帮我!

解决方法

我来了你的帖子,同时玩着跟我一起工作的事情:
  1. HtmlElementCollection head = webBrowser1.Document.GetElementsByTagName("head");
  2. if (head != null)
  3. {
  4. HtmlElement elm = webBrowser1.Document.CreateElement("script");
  5. elm.SetAttribute("type","text/javascript");
  6. elm.InnerText = System.IO.File.ReadAllText(Environment.CurrentDirectory + @"\helperscripts.js");
  7. ((HtmlElement)head[0]).AppendChild(elm);
  8. }

,所以可以使用helperscript.js的所有方法调用

  1. webBrowser1.Document.InvokeScript("methodname");

,这里作为引用脚本调用How to inject Javascript in WebBrowser control?

问候

猜你在找的C#相关文章