1

免责声明

我绝不是网络技术方面的专家,我也不太熟悉 .asp、.dll 和其他 MS 恶作剧,所以在下面发现奇怪/不合逻辑(但希望足够有意义)的构造时不要感到惊讶。

背景

我正在和我的同事一起开发仅 IE 的 dll 打包的 .aspx IFRAMEd CRM 应用程序。那(应该)意味着它只能通过 IE 访问,并且 url 的形式为:http://internal-ip/foo/bar/something.dll?FOO=BAR,并且页面显示由其他 HTML 背景项和两个 IFRAME 组成,包含重要的应用程序内容。作为 CRM,它需要每天数百次重复操作(插入新客户、更新客户、查找有关他们的各种信息等)。

问题

这些操作中的每一个都需要通过软件进行多次复杂的菜单导航,以便最终单击相关菜单项并等待所需页面加载(如此复杂,估计它们会消耗超过 75% 的总时间来完成一种行为)。

主意

为了加快速度(从而提高效率),我想出了一个想法,以某种方式实现键盘快捷键,其作用与单击菜单项的作用相同。这个想法似乎很简单,但我不知道从哪里开始。

尝试的解决方案

如果它是一个标准网页,我会创建一个当我按下 ctrl+something 时执行 $("#menu_item").trigger("click") 的greasemonkey 脚本,但我不能这样做有两个原因:

  1. 没有油猴(Trixie 不工作),并且
  2. 无法通过它们检查任何对象或 DOM 导航,因为它们在 IFRAME 中,所以这是我使用 firebug lite 所能达到的最远和最深的地方。

为了解决第一个问题,我设法使用 IE Tab 2 用 Firefox 打开了应用程序,果然,应用程序可以工作,但是 Greasemonkey 脚本不能——甚至是一个简单的 alert("a") 脚本页面加载不执行(可能是因为页面包含在 .dll 中)。

结论

所以在我看来,我将无法按照我原来的计划推进,那么我还有什么可以尝试的吗?我对应用程序所在的远程服务器的访问权限有限,只能进入文件高峰期,希望能看到一些有用的东西,但这太费时了,而且最终可能没有成果。

我希望有一个足够简单的解决方案(因为这应该是一个非常常见的功能)来避免翻阅数百个文件或学习如何对 .dll 进行逆向工程。有没有人遇到过类似的情况,如果没有,您将如何尝试实现这一目标?

4

1 回答 1

0

如果应用程序在浏览器中运行,无论它托管在服务器上的哪个平台,都会吐出 HTML,Javascript 将在此处帮助您获取快捷方式。

您应该检查其中的一些(使用 jquery 库):

使用 jQuery 的键盘快捷键

超链接的键盘快捷键 (jQuery)

http://www.stepanreznikov.com/js-shortcuts/

菜单上的点击很可能会执行一个功能,我建议使用按键执行该功能,而不是尝试模拟点击。

于 2013-03-18T02:24:03.513 回答