用C#,怎么向浏览器发送信息,让它执行向前或向后的操作,刷新等操作?? 急急
6个回答
展开全部
C#无法直接控制浏览器的前进或后退,这就要借助于javascript来实现了,你可以利用c#向前台页面中输出javascript,来进行控制,有问题hi交流 。
<input type=button value=前进 onclick=history.go(1)>
<input type=button value=前进 onclick=history.forward()>
<input type=button value=后退 onclick=history.go(-1)>
<input type=button value=后退 onclick=history.back()>
,http协议是无状态的,当客户端发生某个事件后,让它向服务端发送个请求,然后服务端将js代码发给客户端执行。
我想楼主肯定是想解决些其他方面的问题,而不是js控制浏览器的问题,若是其他的问题可以与我交流
<input type=button value=前进 onclick=history.go(1)>
<input type=button value=前进 onclick=history.forward()>
<input type=button value=后退 onclick=history.go(-1)>
<input type=button value=后退 onclick=history.back()>
,http协议是无状态的,当客户端发生某个事件后,让它向服务端发送个请求,然后服务端将js代码发给客户端执行。
我想楼主肯定是想解决些其他方面的问题,而不是js控制浏览器的问题,若是其他的问题可以与我交流
追问
就是用C#做一个像鼠标手势的软件,控制浏览器的前进、后退、上下滚屏,关键代码?又怎么用C#调用js
追答
你的意思是说不是用c#做网站,而是要做一个软件当他运行时,可以控制打开的浏览器窗口,可以参考如下内容:
一、c#打开浏览器窗口
public Type tIE=Type.GetTypeFromProgID("InternetExplorer.Application");
public object oIE;
private void button2_Click(object sender, RoutedEventArgs e)
{
object[] oParameter = new object[1];
//tIE = Type.GetTypeFromProgID("InternetExplorer.Application");
oIE = Activator.CreateInstance(tIE);
oParameter[0] = (bool)true;
tIE.InvokeMember("Visible", BindingFlags.SetProperty, null, oIE, oParameter);
oParameter[0] = (string)"http://www.google.com";
tIE.InvokeMember("Navigate2", BindingFlags.InvokeMethod, null, oIE, oParameter);
}
二,C#控制IE浏览器
引入 C:\WINDOWS\System32\mshtml.tlb、Interop.SHDocVw.dll;
public static IHTMLDocument2 GetIHTMLDocument2ByUrl(string url)
{
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
foreach (SHDocVw.InternetExplorer ie in shellWindows)
{
string filename = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
if (filename.Equals("iexplore") && ie.LocationURL == url)
{
return ie.Document as IHTMLDocument2;
}
}
}
通过 GetIHTMLDocument2ByUrl 方法可以获取已打开的IE窗口中指写地址的窗口中的 IHTMLDocument2 对象。
利用这个对象,就可以进行相关操作。
点击按钮
IHTMLDocument2 iHTMLDocument2 = GetIHTMLDocument2ByUrl("http://www.163.com");
HTMLDocumentClass obj = (HTMLDocumentClass)iHTMLDocument2;
IHTMLElement iHTMLElement = null;
IHTMLElementCollection c = obj.getElementsByTagName("input");
foreach (IHTMLElement e in c)
{
if (e.outerHTML.IndexOf("登录") != -1)
{
iHTMLElement = e;
break;
}
}
if (iHTMLElement != null)
{
iHTMLElement.click(); // 点击登录按钮
}
展开全部
向前:<input type=“button” value="向前" onclick="javascript:history.go(1)" />
向后:<input type=“button” value="向后" onclick="javascript:history.go(-1)">
刷新:<input type=“button” value="刷新" onclick="javascript:history.go(0)">
Javascript刷新页面的几种方法:
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href
向后:<input type=“button” value="向后" onclick="javascript:history.go(-1)">
刷新:<input type=“button” value="刷新" onclick="javascript:history.go(0)">
Javascript刷新页面的几种方法:
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刷新:response.write("<script type='javascript'>location.reload();</script>")
后退:response.write("<script type='javascript'>history.back();</script>")
前进:response.write("<script type='javascript'>history.go(1);</script>")
后退:response.write("<script type='javascript'>history.back();</script>")
前进:response.write("<script type='javascript'>history.go(1);</script>")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-12
展开全部
不能直接操作 你得通过脚本 执行浏览器对应的功能才行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取他的窗口
控制他的按钮
发送 点击 命令。
控制他的按钮
发送 点击 命令。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询