【发布时间】:2017-09-20 03:27:38
【问题描述】:
我们使用的第 3 方应用程序引起了很多问题,因为用户在单击 Launch 按钮之前没有单击 Register 按钮,或者如果他们先单击 Register,此详细信息页面与Register 和 Launch 按钮都会刷新并转到他们的投资组合。然后,他们必须在他们的投资组合列表中重新找到该项目。
我认为第 3 方应用程序是一个 .NET,并且使用了 knockout.js,并且不允许嵌入到 Frames 中。
有哪些选项可以为用户提供指导或在理想情况下减少此过程的痛苦?
我希望提供一个内部网页,只需单击一次按钮即可发送Request 和Launch 操作。我发布了一个较早的问题Knockout data-bind click,但无法得到一些工作。
在 SO 上似乎有很多类似的问题,但我不确定这些问题/答案是否用于自动单击自包含应用程序上的按钮,因为如果来自 3rd 方应用程序之外,我想这样做(我什至可以访问他们的视图模型?)。此应用会阻止将其嵌入到 Frames 中。
- Auto-click button element on page load using jQuery
目前我有一个来自内部网站的链接,可以并排打开两个浏览器窗口。一个人带着指示去第三方和第二个窗口。这没关系,但我们发现人们不想阅读。我真的希望单击一个按钮,或者至少能够从内部网页一次发送一个请求。或者,如果可能的话,可能会在他们的网站上添加兜风类型的指南。
这是第 3 方按钮代码
<a class="btn btn-large btn-blue" href="javascript:void(0);"
data-bind="click: $root.clickAction.bind($data, ActionType)">
<span data-bind="text: Title">Register</span></a>
【问题讨论】:
-
我担心你不走运,因为你试图操纵的第 3 方页面可以保护自己不被嵌入,并且可能是在不同的域上。虽然您尝试做的事情对您的用户有帮助,但它依赖于与第 3 方应用程序中的帧破坏代码所保护的相同点击劫持技术。 hacksplaining.com/exercises/click-jacking
-
您能以某种方式包含
js吗? (通过html模板等) -
遗憾的是,我相信这是使用 3rd 方应用程序的本质;您可能会从不从头开始做这件事中获得时间,但您会处理这些限制和限制,或者陷入为定制支付费用的成本漏斗中。 Hacky / messy JS 触及代码,在短期内可能看起来不错,但从长远来看最终会让你付出更多。我建议您拆卸和重建到您不依赖此第三方的程度。
-
@PhilCollins 正是我的感受。我希望高层管理人员能达成一致。我们有能力在内部做,但他们总是坚持使用 COTS。然后我们最终支付数千美元进行定制,因为它不能满足我们的需求,或者我们只是将不同的流程塞给员工,以符合这个基于 COTS 云的应用程序如何为他们的所有客户工作。
标签: javascript html security user-interface knockout.js