Tag: webbrowser control

WebBrowser控件中的InvokeMember(“单击”)

网站显示基于表格的选项供您选择。 HTML是 我想调用字符串“setBank(11,0,1)”的无线电点击。 我如何能? 所有无线电名称都相同,但onclick()参数不同。 在JavaScript中有人这样做了一些代码在这里,但我如何在c#中这样做 我尝试这个但从不工作: if (webBrowser1.DocumentText.IndexOf(“setBank(11,0,1)”, StringComparison.InvariantCultureIgnoreCase) > 1) { webBrowser1.Document.GetElementById(“gatewayIDV”).InvokeMember(“click”); } JavaScript : $(“td.cont”).each(function(index) { var $this = $(this); var gonext = true; if($this.html().search(searchStr) != -1) { $(document).BookingEngine(“setAutomationRunningStatus”, !tabData.automationRunning); console.log(index+”:”+$this.html()+”:”); $this.children(“input[name=’gatewayIDV’]”).click(); gonext = false; } return gonext; });

不使用对话框调用自定义IInternetSecurityManager

你好,谢谢你的期待。 问题描述: 我已经实现了嵌入浏览器控件的ac#WinForm应用程序,并实现了IInternetSecurityManager来执行我们需要的任务,以允许在iframe中使用我们本地安装的网页进行跨域访问。 使用IInternetSecurityManager,IOleClientSite,IDocHostShowUI和IDocHostUIHandler,所有事情都按预期工作。 换句话说,我们所有的实现都被浏览器控件调用。 问题是当浏览器控件中加载的网页具有调用window.showModalDialog()的脚本时:正在使用的浏览器控件实例不再与我们的客户端站点通信。 绝对没有QueryInterface调用或在上面提到的任何接口中调用任何其他方法。 对话框中的文档没有使用我假设的安全管理器实现,因为IE显示的对话框中的Web浏览器控件与我们称为SetClientSite()的对象不同。 题: 我们如何与这个新的浏览器控件交谈? 我们需要能够在IE(我们的IInternetSecurityManager实现)所显示的对话框中提供浏览器控件。 但是,我们永远不会有机会告诉它关于我们的客户网站,可以这么说。 换句话说,没有来自IE的通信通过一个界面告诉我们,“我是一个由IE创建的新浏览器控件,这里是我的IUnknown界面。这是你设置我的客户端站点等的机会” 如果IE收到这样的通知我们会很好。 结果是正在使用两个不同的安全上下文,并且我们的应用程序在使用iframe的对话框中失败,因为我们的IInternetSecurityManager实现未被使用。 源代码示例: 我已经凿掉了源代码来保护无辜者:)并且减少了我认为你可以在自己的Visual Studio 2010解决方案中使用的东西。 请阅读ReadMe.txt文件,了解有关问题,重复步骤等的信息。 我编写的测试网页显示了指导您完成样本使用的信息和步骤。 如果您对我要完成的工作或样品不够清楚有疑问,请告诉我。 请指教。 谢谢。 http://home.comcast.net/~lowrider2112/bin/TestIEHost.rar

WPF WebBrowser和德语“umlaute”等特殊字符

我在我的应用程序中使用WPF WebBrowser控件。 我有一个文件(mht),其中包含德语umlaute(äöü)。 现在,我用.Navigate(路径)加载这个文件,但问题是,这个字符没有显示正确。 我怎么解决这个问题? 最诚挚的问候,托马斯

如何从流/字符串加载mht到WebBrowser控件?

如果我使用Navigate方法,WebBrowser控件正确加载任何mht文件,但是当我使用DocumentText或DocumentStream属性时, mht文件的源显示就像我在记事本中打开文件一样。 如果我将流写入临时文件然后导航到它,它可以正常工作,但我不想这样做。 这个问题似乎很常见,但我没有找到适合它的解决方案。 有人建议我应该通过实现IPersistMoniker com接口来欺骗IE,等等。 我已经尝试了一点,但不幸的是我得到了相同的结果。 可能是我做错了什么。 我仍然认为他们应该是一个更直接的解决方案(除了首先保存在临时文件中),任何想法?

WebBrowser控件 – 获取元素按类型?

我需要在C#中按类型获取元素,HTML看起来像这样: Send Invitations 我希望它能够在我可以调用它(“点击”)的地方,但它似乎不适合在C#中工作。 我目前的代码是: HtmlElement m_SubmitField = m_Browser.Document.All[“orangeBtn”]; if (m_SubmitField != null) m_SubmitField.InvokeMember(“click”); 有没有其他工作方式来做到这一点? 这不是我的服务器,因此我无法编辑HTML或添加jquery。 我正在制作一个自动应用程序来向我想要加入的朋友发送邀请,但他们创建的按钮没有上面看到的ID或名称,所以无论如何都要在C#中使用不同的方式调用(“点击”)方法? 谢谢。

在WinForms WebBrowser控件中禁用javascript?

我怎么能在WinForms上的WebBrowser上完全禁用javascript?

从WinForms WebBrowser控件获取页面高度

在过去的几天里,我一直在努力从WebBrowser控件的Document属性中获取网页的高度。 这是我最近的尝试。 HtmlElementCollection children = webBrowser.Document.All; int maxOffset = 0; foreach (HtmlElement child in children) { int bottom = 0; bottom = child.OffsetRectangle.Bottom; if (bottom > maxOffset) { maxOffset = bottom; pageHeight = maxOffset; } } 我试图通过找到页面中最低元素的偏移底部来计算出页面的最大高度。 问题是,在大多数情况下,这会使页面的实际长度大约为500px。 有人有任何想法吗? 我无法相信获得页面高度有多难!

webbrowser打印

你好 我使用C#WPF webbrowser控件在我的本地机器上显示html文件,我通过执行webbrowser控件的打印命令为我的应用程序添加了一个打印function,但Internet Explorer的默认行为是在屏幕底部打印文件URL,我可以为我的控件打开页眉和页脚打印吗? 有WebBrowser控制打印预览的能力吗? 有时打印页面被剪切,有人可以帮助了解问题是什么。 非常感谢!!!

如何在Web浏览器控件中垂直向下滚动

如何向下滚动c#中WebBrowser组件中的滚动条? 我尝试了以下代码,但它没有完成这项工作: webBrowser2.Focus(); webBrowser2.Document.Body.ScrollIntoView(false);

如何在外部浏览器中打开webBrowser控件中的链接?

我的Windows窗体应用程序中有一个textBox和一个webBrowser控件。 每当用户在textBox中输入HTML代码时,webBrowser控件都会显示其编译的表单。 代码: private void textBox2_TextChanged(object sender, EventArgs e) { webBrowser1.DocumentText = textBox2.Text; } 但每当我单击webBrowser控件中的链接时,它都会在同一个webBrowser控件中打开它。 我想要的是它应该在系统的默认Web浏览器中打开。 那么处理链接点击的webBrowser控件是否有任何事件?