如何打开子浏览器窗口,然后在新加载的子浏览器页面上执行脚本以单击其中的链接

How to open a child browser window and then execute a script on the newly loaded child browser page to click a link in it

本文关键字:浏览器 执行 脚本 单击 链接 加载 然后 窗口 何打开 新加载      更新时间:2023-09-26

我有 2 个 Web 应用程序 A 和 B(对于那些熟悉 Zoho 的人来说,A 是 Zoho Creator,B 是 Zoho 发票)

从 Web 应用程序 A 中,我需要在应用程序 B 中打开一个页面并访问 B 中的特定视图,该视图只能通过单击 B 中页面上的链接来获取(因为该视图是通过视图的 AJAX 加载获得的)。

B 的限制在于它不会通过带有参数的 URL 公开我想要的特定视图(即我无法仅通过 www.appB.com/somePage?ID=1233 新的浏览器窗口请求来获得我想要的东西。我只能 www.appB.com/somePage 新的浏览器窗口请求,然后我需要手动单击 B 中的 AJAX 链接以打开我想要的视图)。

A的限制是我无法访问javascript。我的手段有限(Zoho Creator的洪水语言)在新浏览器窗口中打开另一个Web应用程序。我所能做的就是给A的网页一个URL,并告诉它在同一窗口或新窗口中打开它。因此,在打开新的浏览器窗口时,我对 A 网页的唯一操作能力是新网页的 URL。

我想完成的是 - 从 A 的网页通过 URL 打开新的浏览器窗口,加载 B 的初始页面,然后我的 javascript 执行并单击 B 上的链接,该链接在 B 的浏览器窗口中加载所需的 AJAX 视图。

关于如何使其工作的任何想法?非常感谢您的意见,并提前非常感谢。

总结一下我之前评论中的结论:

  1. 您不能通过页面 URL 将 javascript 注入页面。 您可以在 URL 中传递参数,但接收页面需要已经编码才能对这些参数进行操作。
  2. 如果两个页面位于不同的域中并且没有预先设计为协作,则不能使用一个页面中的 javascript 对另一个页面进行操作。 这是称为同源策略的安全限制,您可以在此处阅读。
  3. 因此,如果您无法以任何方式修改页面 B,并且 B 与 A 位于不同的域中,并且 A 和 B 不是预先设计为合作的,那么您就无法从 A 单击页面 B 中的链接。