作者erspicu (.)
看板C_Sharp
标题Re: [问题] 将网页javascript唤起的程式内嵌C#?
时间Sun Aug 4 12:27:49 2013
如果是winform包WebBrowser
然後WebBrowser里面的网页的javascript call winform method
去开TabControl 是还满简单的
本来winform包WebBrowser
WebBrowser网页里头的javascriot就可以跟winform交互连动
winform call javascript的 function ok
javascript call winform 的 mehtod 也ok
不过听你说的似乎是一般浏览器开网页
网页可以直接开外部的c#应用程式
也是可以
就像你说的网页安装ActiveX
简单来说就是让网页得到很高的控制权
既然装了ActiveX也就不需要再透过javascript了
ActiveX的权限大概等同於一般clinet端独立的应用程式
可以直接想成你用一只独立程式只是崁入在网页里头去call另一只程式那样
除了call起来 如果要到达细部互动的呼叫的话
可以再使用 IPC 这方法
以上
※ 引述《CiC (null)》之铭言:
: 各位板友好,在下目前遭遇一个问题想请教:
: 我现在有个 C# 程式,会使用 WebBrowser 载入一个作业网址,载入完成後,
: 透过 webBrowser1.Document.InvokeScript()函式,传入特定参数,
: 去呼叫网页中的 javascript 函式,可以唤起另一个应用程式。
: 现在被提出一个需求,想知道透过网页 js 唤起的这个程式,
: 是否能够内嵌在原本的 C# 程式中,也就是让使用者不需要切换视窗,
: 程式可以开在 C# 程式的另一个TabControl页(之类的方式)。
: 以小弟我一开始初浅的认知,觉得是没办法,但还是努力地寻找可能性中,
: 有搜寻到几篇文章,包含前面开启外部程式的讨论,似乎寻找的方向都不太正确。
: C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
: http://www.cnblogs.com/bitzhuwei/archive/2012/05/24/SmileWei_EmbeddedApp.html
: 这篇是将外部应用程式内嵌在 panel 中的范例,
: 但也是透过 Process.Start() 直接执行应用程式。
: How to inject Javascript in WebBrowser control?
: http://stackoverflow.com/questions/153748/how-to-inject-javascript-in-webbrowser-control
: http://goo.gl/TV0q5c 缩
: 这篇是将 javascript 语法写在 C# code 内?(好像离我的目标更远了,汗)
: 因为我本身不懂网页程式,我们的网页开发人员也不懂 C# ......
: 所以来请教板友们,是否有类似的处理经验,能指引一个方向,
: 感谢您的阅读!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.70.105.149
※ 编辑: erspicu 来自: 61.70.105.149 (08/04 12:29)
1F:推 CiC:目前需要由网页启动的那支程式并非C#所写,而是外部厂商的 08/04 19:17
2F:→ CiC:所以应该可以朝与ActiveX互动的方向来研究,谢谢您! 08/04 19:18
3F:推 nfsong:请问一下 如果我想要透过在PageA的jquery dialog内的 08/04 23:31
4F:→ nfsong:iframe 中的PageB来关闭PageA的dialog可以吗 08/04 23:32