`
rcfalcon
  • 浏览: 228709 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WPF中WebBrowser注入javascript脚本

    博客分类:
  • .NET
阅读更多

WPF的WebBrowser和WinForm的WebBrowser有一定区别。

 

要向其中注入javascript脚本,经过本人试验,下面一条路可以走通:

 

 

mshtml.HTMLDocument htmlDoc = Browser.Document as mshtml.HTMLDocument;
var head = htmlDoc.getElementsByTagName("head").Cast<HTMLHeadElement>().First();
var script = (IHTMLScriptElement)htmlDoc.createElement("script");
script.text = "alert('hello world')";
head.appendChild((IHTMLDOMNode)script);

 

 

该方法还可以注入javascript函数,在需要的时候调用 Browser.InvokeScript()即可。

 

但是今天发现一个很奇怪问题。。我用该注入方法修改 document.body.style.zoom,整个页面会缩放,但是其中的flash等控件居然有问题。。

 

然后我用IE8带的开发人员工具注入修改 document.body.style.zoom 则没这个问题。。。

 

太奇怪了,改天继续研究。

分享到:
评论

相关推荐

    WPF中webBrowser控件与脚本交互(调用托管代码)

    本示例探讨的是如何利用这个控件实现Web页面与WPF应用之间的交互,特别是从JavaScript脚本调用C#的托管代码。 一、WebBrowser控件基础 WebBrowser控件是WPF中的一个组件,它基于Internet Explorer的ActiveX控件,...

    Debug_WPF自适应_C#WPFwebbrowser_

    标题中的“Debug_WPF自适应_C#WPFwebbrowser_”暗示了一个问题,即在WPF应用中加载网页时遇到了自适应性问题,并且可能涉及到JavaScript脚本的处理。我们将首先介绍WPF WebBrowser控件的基本使用,然后讨论自适应...

    C# webbrowser控件执行js脚本源码

    本文将重点介绍如何使用C#结合`WebBrowser`控件来执行JavaScript脚本。 ##### 2.1 `IsConnectedToInternet()` 方法 该方法未在给定代码片段中给出具体实现,但从方法名推测,它应该用于检测当前设备是否连接到...

    wpf webbrowser使用

    在Windows Presentation Foundation (WPF) 中,`WebBrowser`控件是一个非常实用的组件,它允许开发者在WPF应用程序中嵌入网页浏览功能。本文将深入探讨如何利用`WebBrowser`控件,并解决两个关键问题:屏蔽脚本弹出...

    WPF与JS简单交互

    在IT领域,Windows Presentation Foundation(WPF)是微软.NET Framework的一部分,用于构建桌面应用程序,而JavaScript(JS)是网页开发中的主要脚本语言。当在WPF应用中嵌入WebBrowser控件时,可以实现WPF与...

    WPF调用Echart,通过JS与WPF数据交换

    要实现WPF与ECharts的数据交换,我们可以利用`WebBrowser`控件的`InvokeScript`方法来调用JavaScript函数,将C#中的数据转换为JSON字符串传递给JS。同时,ECharts的事件监听器可以捕获用户交互,然后通过`...

    WPF嵌套百度EChart

    在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 应用程序中嵌套百度...通过熟练掌握WPF的WebBrowser控件和JavaScript的ECharts库,你可以在自己的项目中实现各种定制化的数据可视化解决方案。

    C#判断webbrowser页面最终加载完成

    但是,需要注意的是,`DocumentCompleted`并不总是意味着所有内容都已经加载完毕,特别是当页面中存在iframe或者其他外部资源(如图片、脚本)时,这些子资源的加载不会触发`DocumentCompleted`事件。 为了确保页面...

    WPF下基于geplugin的对google earth的开发

    2. **脚本交互**:由于geplugin主要是通过JavaScript API与用户交互,我们需要在C#代码中注入JavaScript代码,通过`WebBrowser.NavigateToString()`方法加载自定义的HTML和JavaScript,从而控制Google Earth。...

    C# webbrowse 放大缩小页面

    4. 最后,确保在WebBrowser控件的`DocumentCompleted`事件中,设置允许JavaScript操作的权限,因为我们的缩放操作依赖于JavaScript来更新CSS: ```csharp private void webBrowser1_DocumentCompleted(object ...

    webBrowser控件操作动态html

    在.NET Framework中,`WebBrowser`控件是一个强大的工具,用于在Windows Forms或WPF应用程序中集成Web浏览功能。这个控件允许开发者在桌面应用中显示网页内容,并且可以与HTML进行交互,实现一些高级的功能。本文将...

    WebBrowser_网页操作

    1. **添加WebBrowser控件**:在C#的WinForms或WPF项目中,可以从工具箱拖放`WebBrowser`控件到设计界面,或者通过代码动态创建和添加。 2. **导航功能**:`WebBrowser`控件提供了`Navigate()`方法,用于加载指定的...

    webBrowser的使用方法详解

    在Windows Forms应用开发中,`WebBrowser`控件是一个非常实用的工具,它允许开发者在...尽管它主要应用于WinForm,但在WPF等其他.NET框架中也有相应的实现,只是API可能会有所不同。请根据具体项目选择合适的使用方式。

    WebBrowser控件的使用

    5. **脚本错误**:网页中的JavaScript错误也可能导致`WebBrowser`控件崩溃。可以禁用脚本执行,或者捕获并处理`WebBrowser`控件的`DocumentCompleted`事件中的异常。 6. **权限问题**:如果你的应用程序在受限的...

    WEBBrowser 控件 实现浏览器功能

    WEBBrowser控件是Windows Forms和WPF应用程序中用于在应用程序内嵌入Web浏览功能的组件。这个控件允许开发者在他们的应用中集成网页显示、网页交互以及执行HTML文档的功能,而无需依赖外部浏览器进程。本篇文章将...

    WebBrowser显示html

    WebBrowser控件的使用非常直观,只需将其拖放到Windows Form或WPF应用的设计界面上,然后通过编程设置其`Url`属性,即可加载指定的网页。例如,如果你有一个本地HTML文件"index.html",你可以这样设置: ```csharp...

    FlashinWPF.rar_FlashinWPF_WPF

    SWFObject是一个JavaScript库,常用于在网页中嵌入Flash内容,而在WPF中,可以通过WebBrowser控件间接使用JavaScript来加载和播放SWF文件。步骤可能包括: 1. **使用WebBrowser控件**:WPF提供了WebBrowser控件,它...

    Html报表示例,WebBrowser打印

    5. **CSS样式与JavaScript**:HTML报表可能包含复杂的CSS样式和JavaScript脚本来实现动态效果和数据交互。WebBrowser控件支持大部分现代浏览器的CSS样式和JavaScript,使得HTML报表在桌面应用中也能有良好的视觉和...

    Webbrowser判断 内容是否已修改

    1. **WebBrowser控件**:在.NET框架中,WebBrowser控件是一个常用的组件,它可以嵌入到Windows Forms或WPF应用中,提供类似于Internet Explorer的浏览功能。通过这个控件,开发者可以实现对网页的加载、导航以及与...

    .net调用js脚本

    在.NET开发中,有时我们需要在C#代码中执行JavaScript脚本来处理特定的逻辑,例如解析HTML、与浏览器交互或者利用JavaScript库的功能。这种跨语言的调用通常通过以下几种方式实现: 1. **JScript .NET**: .NET...

Global site tag (gtag.js) - Google Analytics