标签: webbrowser-control

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

这看起来真的很蠢.我尝试了一些不同的方法,但它只是不起作用.我有一个带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://),它可以正常工作!

救命!

html javascript c# webbrowser-control

11
推荐指数
1
解决办法
2万
查看次数

让WebBrowser控件在控制台应用程序中工作?

我有一个能够通过WebBrowser对象打印HTML的打印机类.我希望能够从控制台应用程序打印,但是当我的打印机类尝试创建WebBrowser对象时出现错误:

WebBrowser browser = new WebBrowser();
Run Code Online (Sandbox Code Playgroud)

错误:

ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot 
be instantiated because the current thread is not in a 
single-threaded apartment.  
Run Code Online (Sandbox Code Playgroud)

我尝试将对System.Windows.Forms的引用添加到我的控制台应用程序中,但这不起作用.我对这里发生的事情一无所知,但我很感激你的帮助.

.net c# console-application webbrowser-control

11
推荐指数
2
解决办法
3万
查看次数

适用于DOM的WebKit API

WebKit是否公开了一个直接使用其DOM的API?我正在寻找一个类似HtmlElement的类,可以用来构建/遍历HTML内容的树.

我正在尝试将WebKit作为桌面应用程序中的Web浏览器控件托管,并且更喜欢直接API而不是通过COM.谢谢!

谢谢!

c++ browser webkit webbrowser-control

10
推荐指数
1
解决办法
8005
查看次数

一个窗口中有多个WebBrower会话/进程

我想创建一个利用WebBrowser控件的多个实例的.NET应用程序.问题在于,我希望每个Web浏览器控件都能运行它自己的会话.IOW,我要求会话cookie,javascript全局命名空间等的集合对于每个实例是分开的,并且所有实例都出现在同一个窗口中.

AFAIK,这将要求我在一个单独的进程中运行每个Web浏览器控件.

几个问题:

  1. 我对多个流程的要求是否正确?
  2. 是否可以使单个Windows窗体应用程序中的每个WebBrowser实例在单独的进程中运行?

提前致谢...

.net internet-explorer webbrowser-control winforms

10
推荐指数
1
解决办法
2556
查看次数

使用WPF WebBrowser显示内容来阻止滚动条

我正在使用WPF WebBrowser组件来显示一些非常简单的HTML内容.但是,由于我事先并不知道内容大小,因此当我加载某些数据集时,我正在获取控件上的滚动条.

基本上,我如何强制(或以其他方式影响相当于强制)WebBrowser扩展大小,以便显示所有内容而不需要滚动条?

c# wpf scrollbar webbrowser-control

10
推荐指数
2
解决办法
8122
查看次数

在WebBrowser中使用CookieContainer中的cookie

有没有什么方法可以实际使用cookie容器中的cookie(以前从WebRequest中获取)并在WebBrowser控件中使用它们?如果是这样,我该怎么做?这适用于C#中的Winforms应用程序.

.net c# webbrowser-control cookiecontainer winforms

10
推荐指数
1
解决办法
4万
查看次数

Chrome/Firefox替代TWebBrowser控件

我有一个Delphi应用程序,在TWebBrowser控件中显示一组网页.其信息亭类型的应用程序,以便用户触摸上侧的按钮,它示出了在标签的特定网页.我遇到某些网站的一些问题,并获得IE javscript错误.

我想知道是否有一种方法可以在选项卡或Delphi的表单中嵌入chrome或firefox浏览器?

这个问题似乎回答了我遇到javascript错误的问题.

delphi webbrowser-control twebbrowser

10
推荐指数
1
解决办法
3万
查看次数

使用IDownloadManager控制Windows窗体Webbrowswer

我正在使用Systems.Windows.Forms.Webbrowser控件,需要覆盖下载管理器.我按照这里的说明继承了表单和覆盖CreateWebBrowserSiteBase()

/// <summary>
/// Browser with download manager
/// </summary>
public class MyBrowser : WebBrowser  
{
    /// <summary>
    /// Returns a reference to the unmanaged WebBrowser ActiveX control site,
    /// which you can extend to customize the managed <see ref="T:System.Windows.Forms.WebBrowser"/> control.
    /// </summary>
    /// <returns>
    /// A <see cref="T:System.Windows.Forms.WebBrowser.WebBrowserSite"/> that represents the WebBrowser ActiveX control site.
    /// </returns>
    protected override WebBrowserSiteBase CreateWebBrowserSiteBase()
    {
        var manager = new DownloadWebBrowserSite(this);
        manager.FileDownloading += (sender, args) =>
            {
                if …
Run Code Online (Sandbox Code Playgroud)

c# webbrowser-control download-manager winforms

10
推荐指数
1
解决办法
5497
查看次数

如何在Javascript中连接C#ActiveX事件处理程序

利用几个代码片段,我试图用Javascript事件处理程序挂钩ActiveX对象.我无法确定为什么没有调用事件处理程序.

Github存储库与项目.

更新

通过在'onLoad'事件中将javascript调用放到SayHello(),我能够触发ActiveX事件.现在我正在寻找C#调用,以及如何将它挂钩到Javascript使用的ActiveX对象中.

(这也可能依赖于从IE的高级选项中启用本地脚本).

消息继续

事件处理程序以与此问题所述相同的形式完成.

    <script for="MyObject" event="OnUpdateString(stuff)">
        document.write("<p>" + stuff);
        document.writeln("</p>");
    </script>
Run Code Online (Sandbox Code Playgroud)

利用MSDN文档,我创建了一个WinForms应用程序,其中包含一个WebBrowser控件,该控件充当ObjectForScripting(与问题无关).此容器调用ActiveX事件,但未被Javascript处理.我要在ActiveX交互中包含C#Form代码,并允许它作为ActiveX和/或WebBrowser控件的未来用户的参考.

此文件旨在与新的Windows窗体项目一起使用,其中WebBrowser控件已添加到主窗口.

C#Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Permissions;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ActiveXObjectSpace;

namespace TestActiveX
{
    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    [System.Runtime.InteropServices.ComVisibleAttribute(true)]
    public partial class Form1 : Form
    {
        MyObject myObject = new MyObject();
        public Form1()
        {
            InitializeComponent();
            Text = "ActiveX Test";

            Load += new EventHandler(Form1_Load);
        }

        private …
Run Code Online (Sandbox Code Playgroud)

javascript c# activex webbrowser-control

10
推荐指数
1
解决办法
3741
查看次数

在WPF WebBrowser中使用Blockly

是否可以在WPF WebBrowser中使用Blockly google javascript库?

特别是,Blockly需要几个js脚本.我们如何引用js库?

javascript c# wpf webbrowser-control blockly

10
推荐指数
1
解决办法
1559
查看次数