浏览器内的浏览器

时间:2009-08-28 17:47:41

标签: c# asp.net browser

我想在Asp.net中创建一个网页内的浏览器,以便我可以处理用户的点击事件(用于统计分析)。

我知道如何使用Winforms,但我需要一个完整的在线解决方案,以便:

  • 用户打开标准浏览器并输入起始网址。
  • 在此网址中,隐藏了标准浏览器的菜单和栏 用户可以使用标准按钮查看“模拟浏览器” (回来,重装,......)。
  • 从本页后面的Asp(c#)代码我可以开始收集点击 数据。

提前致谢,并保持良好的工作。

6 个答案:

答案 0 :(得分:3)

你想要收集的内容(基本上是点击的热图)是可行的,但我认为你想要的方式是不可行的。

尝试this

我认为使用这种带框架等的解决方案比嵌入浏览器更可行(这相当于编写一个可以通过某种java / silverlight技术提供的浏览器,而不是无关紧要)。 / p>

另一个想法是,因为,我认为,您已获得用户的许可,可以跟踪他们的点击次数,根据我在上面提供的链接中的javascript编写一个greasemonkey(firefox插件)。然后,您可以让所有用户使用此插件脚本组合来为您提供点击次数。

答案 1 :(得分:1)

Web浏览器通常用于防止此类跨站点脚本漏洞。只有在您所有相关网站的全面合作下,这才是可行的。

答案 2 :(得分:0)

我不认为浏览器会允许你这样做,原因很简单,它会打开一大堆安全漏洞。如果你考虑一下,像这样设计的攻击网站就能跟踪网络上的人跟踪他们的行为,窃取密码等等,甚至不知道它在那里。

答案 3 :(得分:0)

对于网络应用来说,这并不是那么简单。

您的选择是:

  • 为您喜爱的浏览器创建一个插件(或Greasemonkey脚本),以收集点击数据。
  • 跟踪用户光标位置的JavaScript。请注意,如果您的用户从您的网站访问其他网站,这将是不可靠的,因为如果脚本来自不同的来源,JavaScript无法正常运行。

您将无法像在桌面应用上那样制作“浏览器”控件,因为浏览器故意不允许网站功能强大。

对于“浏览器中的浏览器”效果,您可以使用 tag。请注意,如果源来自与其所包含的页面相同的域,则您将只能跟踪此iframe中的用户操作。

答案 4 :(得分:0)

客户端无法进行跨域脚本编写。出于安全原因,您甚至无法从指向某个地方的框架或iframe中读取,而不是从您自己的网站。

这里的解决方案可能是构建类似于着名的PHPProxy或PHPBrowser的东西,在本例中是“ASP.NET代理”。它的构建并不难,谷歌可以为这些小代码提供许多例子。

答案 5 :(得分:0)

虽然我怀疑你可以隐藏原始浏览器工具栏等,但你可以设置一个单独的页面来执行此操作(但它肯定不会处理所有内容)。

此页面将包含所需的按钮和文本框(以构成内部浏览器UI)和包含用户请求的页面的占位符。当然,占位符中包含的页面需要替换所有链接,以便可以跟踪它们(我会使用链接按钮)。我不确定提交表单的效果如何。

如果我控制了电脑,我个人会使用代理。