IAm*_*00B 11 html javascript c# webbrowser-control
这看起来真的很蠢.我尝试了一些不同的方法,但它只是不起作用.我有一个带WebBrowser控件的WinForms应用程序.如果我使用相同的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);
}
Run Code Online (Sandbox Code Playgroud)
WebBrowser无法获取脚本.但是,如果我将"mySource"更改为外部资源(通过http://),它可以正常工作!
救命!
wom*_*omd 11
我找到了你的帖子,同时玩了以下为我工作的东西:
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);
}
Run Code Online (Sandbox Code Playgroud)
,因此可以使用调用helperscript.js的所有方法
webBrowser1.Document.InvokeScript("methodname");
Run Code Online (Sandbox Code Playgroud)
,这里作为脚本调用的参考:如何在WebBrowser控件中注入Javascript?
问候