Tag: 浏览器

wpf InteropBitmap到位图

我有一个奇怪的问题。 我正在尝试检索已经加载到webbrowser控件中的图像。 以下代码在WinForms应用程序中正常工作: IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)__ie.NativeDocument.BODY).createControlRange(); foreach (IHTMLImgElement img in __ie.NativeDocument.Images) { imgRange.add((IHTMLControlElement)img); imgRange.execCommand(“Copy”, false, null); System.IO.MemoryStream stream = new System.IO.MemoryStream(); using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp); var image = System.Drawing.Image.FromStream(stream); } } 但是,如果我在WPF应用程序中使用相同的代码会给出错误 using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject()……. 错误如下: “无法将’System.Windows.Interop.InteropBitmap’类型的对象强制转换为’System.Drawing.Bitmap’。” 我该如何解决这个问题? 请任何人都可以提供任何指导。 先感谢您。

Treeview – 如何滚动直到所选项目位于顶部?

我正在使用个人文件浏览器应用程序一年,我正在尝试聚焦我选择的文件夹。 例如,如果我说我的默认文件夹是C:\ Users \ Me那么它会自动扩展C,然后用户等… 最后,我选择了’Me’文件夹,我没有设法滚动到自动,所以我可以在列表顶部看到它。 有人有想法吗? 谢谢您的帮助!

在WebBrowser中调用脚本,并等待它完成运行(同步)

我正在使用webBrowser.Document.InvokeScript(“Function”)来运行javascript,它位于使用Winforms WebBrowser打开的本地文件中。 问题是,我需要javascript在继续之前完成执行。 我该如何等待/倾听? 这是我的C#代码: private void Button1_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { webBrowser.Document.InvokeScript(“Script_A”); Method_A(); DialogResult = System.Windows.Forms.DialogResult.OK; } Javascript代码: function Script_A() { Script_B(); } 如何在Script_B完成之前确保没有执行Method_A?

检查浏览器是否接受cookie

有没有办法可以检查浏览器是否允许cookie。 Request.Browser.Cookies 禁用cookie时不起作用。 它说浏览器可以支持它们。 我能想到的唯一另一件事就是尝试设置一个测试cookie,然后检查它是否设置好了。 反正是为了确保实际启用cookie。

如何使用.net webBrowser对象

任何人都知道使用System.Windows.Forms.WebBrowser对象的教程? 看了一下但却找不到一个。 我到目前为止的代码是(非常复杂): System.Windows.Forms.WebBrowser b = new System.Windows.Forms.WebBrowser(); b.Navigate(“http://www.google.co.uk”); 但它实际上并没有导航到任何地方(iebUrl为null,b .Document为null等) 谢谢

获取WPF WebBrowser HTML

我正在使用Wpf WebBrowser访问某个页面。 我需要得到它的HTML内容 – 我不能使用Webclient或WebReques等因为我需要在那些页面上执行JS。 我也尝试过Awesomium和Wf WebBrowser(都错了)。 dynamic doc=browser.Document; var text=doc.InnerHtml//or something like this 上面的代码对我不起作用,它显示无引用。 谁能告诉我怎么去取它? 我已经搜索了好几个星期,但没有发现任何真正有用的东西:/。 请回答一下你能想象到的最大笨蛋:D。 有时我会发现人们发给我一段代码而我不知道如何使用它…我的意思是请让你的post像结束一样 string HTML=some_stuff; 或者,如果你知道一些没有错误的替代浏览器,我可以访问HTML或者什么东西,让我在加载的Html上执行JS,像cookies一样影响和HTML源代码的变化,这也是一个非常好的答案。 我会感激任何帮助。

导航和WebBrowser控件

我可以使用XPAth表达式来浏览WebBrowser控件中的DOM元素吗? 可以附加javascript代码并使用document.evaluate函数是正确的方法吗? 另一个activeX浏览器组件(firefox,webkit.net)可以帮助我解决我的任务吗?

用C#检测IE11

在加载网页之前,我正在检测浏览器和版本以确定兼容性。 因此,如果浏览器小于IE7,则显示不兼容的消息。 在IE11中测试网页我的网页显示不兼容的消息。 我目前正在从以下位置获取浏览器名称: var browser = Request.Browser.Browser; 和版本 var version = Request.Browser.Version; 然后我检查浏览器是IE,版本> = 7。 我相信IE11的用户代理已经改变了。 那么使用C#检测浏览器是否> = IE7的最佳方法是什么? 编辑: Request.Browser.Browser返回浏览器名称,例如IE。 Request.Browser.Version返回版本号。 我将这些添加到我拥有的BrowserVersion对象中,并将这些值与我支持的浏览器版本数组进行比较。 即 private static List m_supportedBrowsers = new List() { new BrowserVersion(“IE”, 7), new BrowserVersion(“Firefox”, 3), new BrowserVersion(“AppleMAC-Safari”, 5), new BrowserVersion(“Safari”, 5) }; 其中BrowserVersion只是一个具有2个字符串属性(名称和版本)的对象。

从WebBrowser控件获取所有文本

我有一个WebBrowser控件,我想从该控件获取所有文本。 换句话说,我想得到相同的文字,如果我在哪里抓住我的鼠标从浏览器中选择所有内容并将其粘贴到记事本中。 我知道有几种技术可以获取文本,例如WebBrowser.DocumentText或innerhtml,但是如果我将所有内容从浏览器复制到剪贴板,那么这些技术都不会提供相同的文本。

将上下文菜单添加到WP8浏览器控件

当用户在网页上的链接上执行保持手势时,我尝试附加上下文菜单。 我在网上搜索过,发现了一些建议 if (webBrowser.IsScriptEnabled) { webBrowser.InvokeScript(“execScript”, “function eventListener(evt){ if (evt.type == ‘MSPointerDown’) { gestureHandler.addPointer(evt.pointerId); return; } if (evt.detail & evt.MSGESTURE_FLAG_END) { window.external.notify(evt.srcElement.tagName);}}”); webBrowser.InvokeScript(“execScript”,”document.addEventListener(‘MSGestureHold’, eventListener, false); document.addEventListener(‘MSPointerDown’, eventListener, false); gestureHandler = new MSGesture(); gestureHandler.target = document.body;”); } 但是第二个execScript引发了这个错误 System.SystemException was unhandled by user code HResult=-2146233087 Message=An unknown error has occurred. Error: 80020101. Source=Microsoft.Phone.Interop StackTrace: at Microsoft.Phone.Controls.NativeMethods.ValidateHResult(Int32 […]