免责声明
我绝不是网络技术方面的专家,我也不太熟悉 .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 脚本,但我不能这样做有两个原因:
- 没有油猴(Trixie 不工作),并且
- 无法通过它们检查任何对象或 DOM 导航,因为它们在 IFRAME 中,所以这是我使用 firebug lite 所能达到的最远和最深的地方。
为了解决第一个问题,我设法使用 IE Tab 2 用 Firefox 打开了应用程序,果然,应用程序可以工作,但是 Greasemonkey 脚本不能——甚至是一个简单的 alert("a") 脚本页面加载不执行(可能是因为页面包含在 .dll 中)。
结论
所以在我看来,我将无法按照我原来的计划推进,那么我还有什么可以尝试的吗?我对应用程序所在的远程服务器的访问权限有限,只能进入文件高峰期,希望能看到一些有用的东西,但这太费时了,而且最终可能没有成果。
我希望有一个足够简单的解决方案(因为这应该是一个非常常见的功能)来避免翻阅数百个文件或学习如何对 .dll 进行逆向工程。有没有人遇到过类似的情况,如果没有,您将如何尝试实现这一目标?