是否有可能有一个greasemonkey脚本,是自动加载到一个网页内的所有框架

is it possible to have a greasemonkey script that is auto loaded into all iframes within a web page?

本文关键字:一个 网页 框架 脚本 greasemonkey 有一个 有可能 加载 是否      更新时间:2023-09-26

我有一个要求,我必须一次提交相同/类似的数据到10-15个表格。我想做的是创建一个单独的页面,所有这些表单都被加载,并自动填写所有已知的值…最终用户只需为这15个表单填写验证码……现在我希望每个表单的提交响应被加载到同一网页内的iframe。

在此之后,我想要一个简单的js加载到每个iframe,它从父文档读取一些数据,以及响应网页的整个内容,并使用XMLHttpRequest发送到我的web应用程序。(web应用程序将解析表单提交响应的内容,并查看提交是否成功)。

应该加载到每个iframe(在主窗口内)的脚本应该读取iframe ID,主窗口的一些div和该iframe的整个内容,并将其作为POST请求发送到我的web应用程序。

这样的场景可以使用Greasemonkey实现吗?注意,最初当页面与iframe被加载时,在那个阶段,iframe是空白的-在这个阶段,没有数据从iframe应该被发送到我的web应用程序。只有在用户提交了所有10个表单,并且iframe都加载了各自的表单提交响应,现在js应该发送每个iframe中的数据到我的web应用程序。

还有一个问题-目前我计划使用谷歌浏览器与适当的运行时参数来禁用同源策略…但是如果上面的场景可以使用Greasemonkey脚本实现,那么我还需要在Firefox中禁用同源策略吗?此外,Firefox中有一个扩展,可以将CORS使能器添加到网页中,我可以将该脚本与上述场景的代码相结合,以便即使iframe与主窗口相比具有不同的域,即使如此,每个iframe的数据也会提交?

1- Greasemonkey脚本加载到与您的网站过滤器匹配的每个页面和iframe上。您可以使用以下命令停止主窗口的运行:

if(window == window.top) return;
// else do the rest

2-你可以使用window.parent访问父窗口及其内容。并使用iframe的. contentwindow属性从Parent访问iframe。(如果他们有保存域)