加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:46:18 所属栏目:百科 来源:网络整理
导读:这似乎真的很笨.我已经尝试了一堆不同的方式,它只是没有工作.我有一个WinForms应用程序与WebBrowser控件.如果我使用相同的src字符串在桌面上尝试使用原始的html文件,那么我放在一起的src工作正常.但是将相同的东西插入WebBrowser控件将无法正常工作. 这是我
这似乎真的很笨.我已经尝试了一堆不同的方式,它只是没有工作.我有一个WinForms应用程序与WebBrowser控件.如果我使用相同的src字符串在桌面上尝试使用原始的html文件,那么我放在一起的src工作正常.但是将相同的东西插入WebBrowser控件将无法正常工作.

这是我的代码:

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

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

帮帮我!

解决方法

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

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

webBrowser1.Document.InvokeScript("methodname");

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

问候

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读