问题标签 [gm-xmlhttprequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
910 浏览

javascript - 有没有办法将值传递给 GM_xmlhttprequest?

如此处所示:

如何从 GM_xmlhttprequest 返回值?

我有一个异步脚本。我想将一个值传递给这个函数,以便在调用 onload 函数时可以使用它在网页中显示。

我面临的挑战是,每次我将它传递给函数时,这个值都会改变。

因此,例如,如果我传入“abc”、“def”、“xyz”。

我最终会得到

代替

所以,我的问题是,我如何将一个值传递给这个函数,以便函数的每次调用都知道在完成时要显示什么?

0 投票
1 回答
552 浏览

post - GM_xmlhttpRequest - 在父窗口和 Iframe 窗口上触发 - 应该只在父窗口上触发

我正在构建一个 GreaseMonkey 测试脚本,每次访问特定站点时都会生成一个GM_xmlhttpRequest 。GM_xmlhttpRequest 应该只在找到的第一个“文档”(父窗口)上触发,它应该忽略 iframe 和其他子窗口(我不想要 iframe 的 url)。

一些想法和可能的解决方案:

1)我试图在 GM_xmlhttpRequest onload-callback 中插入一个中断。结果:脚本没有响应。FireBug 中没有错误消息。(我猜 break 只在循环中有效。)

2) 在 GM_xmlhttpRequest 之前/之后插入一个 addEventListener: 结果:脚本没有响应。FireBug 中没有错误消息。

3)理念:GM_xmlhttpRequest可以在第一次成功请求后“取消”吗?在 onload 部分或脚本之后(如 document.removeEventListener 取消 document.addEventListener)。

4) 思路:GreaseMonkey 可以识别父窗口吗?所以脚本只在父窗口中运行?

另外,我不希望将脚本作为同步调用,因为它会减慢速度。

0 投票
1 回答
308 浏览

jquery - 如何使用 GM_xmlhttpRequest 从客户端表单获取序列化数组到服务器

我在表单上使用 JQuery.serializeArray() 在 GreaseMonkey 应用程序上创建对象数组:

我需要使用 GM_xmlhttpRequest 将这些字段提供回服务器端应用程序。返回这些字段的最佳方法是什么?

提前致谢,

D

0 投票
3 回答
5423 浏览

javascript - 如何在greasemonkey中进行同步AJAX调用?

我有一个 URL 列表,需要一个接一个地加载每个页面。
这是我心中的主要功能。

func1使用 GM_xmlhttprequest,它是异步的,因此 oPage 导致“underfined”,因为函数在可以检索页面内容之前结束。
func2也使用 GM_xmlhttprequest,所以即使 oPage 未定义,aResult 也将未定义。

关于如何使所有这些工作的任何想法?

func1 func2并且func3应该在整个脚本中可重用,这些函数中的每一个都可以单独使用,也可以在脚本的不同部分一起使用。

0 投票
1 回答
1016 浏览

gm-xmlhttprequest - 在 GM_xmlhttpRequest 中设置同步:false 不起作用

我尝试在 GM_xmlhttpRequest 中发出一个同步为 false 的 http 请求,但似乎不起作用。

这是怎么做的?我的代码:

提前致谢!

0 投票
0 回答
312 浏览

jquery - GM_xmlhttpRequest 在 jQuery .each() 语句中丢失数据

我有一些带有这样 URL 的页面:www.example.com/index.php?id={a number} 并且每个页面都有相同的<select>元素:

并且每个页面都有一个<ul>具有不同 li 值的元素:

Greasemonkey 脚本获取<select>元素(在任何页面中)并从<option>值中获取“id”页面,然后<ul>从每个页面中获取值并打印在 div 中:

如果脚本在 index.php?id=1 中运行,则打印:

如果这是在 index.php?id=2 中运行,则打印

如果这是在 index.php?id=4 中运行,则打印

一些想法?

0 投票
1 回答
4173 浏览

synchronization - 同步 GM_xmlhttpRequest 异步执行?

我试图获得一个GM_xmlhttpRequest同步行为的调用,但我无法让它像我期望的那样工作:

我从来没有在这里得到任何回报b;它是未定义的。我在这里缺少一些步骤吗?
我正在使用 Greasemonkey 的 v0.9.13 和 Firefox 的 v9.0.1。

0 投票
1 回答
919 浏览

javascript - GM_xmlhttpRequest responseText 在 Firefox 中为空,但在 Chrome 中完美

我正在尝试在 Firefox 中为 Chrome 和 Greasemonkey 做一个用户脚本。

我正在使用 GM_xmlhttpRequest 因为它应该在两个平台上都可以工作。请求代码似乎在两种浏览器中都有效,但在 Firefox 中,responseText 是空的,而 Chrome 中我得到了预期的响应。

用户脚本代码:

“other.org”网站上的 php 脚本:

用户脚本使用 JSON.parse() 处理响应,但这在这里并不重要。

在 chrome 中,这很好用,但是在 Firefox 中 responseText 是空的。

我已经读到这可能与同源策略有关。但我不明白这可能是怎么回事以及如何解决它。非常欢迎所有帮助!

0 投票
1 回答
2892 浏览

javascript - 如何在网页中调用 GM_xmlhttpRequest?

GM_xmlhttpRequest我需要调用一个由网页中的事件触发的跨域。

如何从网页访问greasemonkey 沙箱中的功能?

0 投票
1 回答
586 浏览

javascript - WHILE 循环中的 GM_xmlhttpRequest

我有一个相当简单的任务来替换页面上的特定文本。假设有 10 个 DIV,每个 DIV 都包含特定信息。我想根据数据库检查此信息,并将文本替换为数据库中的结果。

我将 GM_xmlhttpRequest 放在一个循环中,该循环应该检查此信息并为 10 个 DIV 中的每一个替换它。不幸的是,这不起作用,最后一个 DIV 包含 10 个完全相同的信息。也就是说,当 i=10 时,GM_xmlhttpRequest 被执行了 10 次。

下面是一个简化的代码: