WPF中WebBrowser注入javascript脚本
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 则没这个问题。。。
太奇怪了,改天继续研究。
相关文档:
直接上例子:
<html>
<script language = "javascript">
var msg = "全局变量";
function show(){
msg = "局部变量";
}
show();
alert(msg);
</script&g ......
禁止选择
unselectable="on"(off): IE/Opera
style="-moz-user-select:none": FireFox(JS:element.style.MozUserSelect = "none";)
style="-khtml-user-select:none": Safari(JS:element.style.KhtmlUserSelect)
ons ......
String.prototype.changeQuery = function(name,value)
{
var reg = new RegExp("(^|)"+ name +"=([^&]*)(|$)");
var tmp = name + "=" + value;
if(this.match(reg) != null)
{
return this.replace(eval(reg),tmp);
}
else
{
if(this.match("[\?]"))
{
return this + ......
<script language="javascript" type="text/javascript">
function arrayTest() {
//使用new Array()
var array1 = ......
Every Web developer has to tangle with tables. A new open source library, DisplayTag, can make life with tables much more organized. Find out how to combine the DisplayTag library with JavaScript to make a slick app that displays line item details.
by Stephen Strenn
isplaying data in a t ......