GM.xmlHttpRequest`synchronous`选项不起作用

时间:2019-08-26 16:46:32

标签: javascript greasemonkey greasemonkey-4

以下代码创建内容为<% var idf = notifications.data[i].from; %> <% var ids = notifications.users[a].id; %> <% if(idf == ids){ %> <% index = a; %> <script>alert('<%= index %>');</script> <% break; %> <% }else{ %> <script>console.log('<%= idf %> - <%= ids %>');</script> <% } %> 的警报:

undefined

基于documentation,我希望// ==UserScript== // @name Unnamed Script 188765 // @version 1 // @grant GM.xmlHttpRequest // @include http*//markasoftware.com/* // ==/UserScript== alert(typeof GM.xmlHttpRequest({ url: 'https://google.com', synchronous: true, method: 'GET', })); 选项使呼叫返回响应synchronous。但是,它的行为与异步调用相同。 object处理程序仍然有效。 onload选项是否被禁用?还有其他同步发出跨域请求的方法吗?

1 个答案:

答案 0 :(得分:1)

使用同步模式时返回值将不同的文档是错误的。只需设置在Array ( [0] => Array ( [id] => 841052 [place] => 11 [position] => 1 [promote_date] => <calculated date> ) [1] => Array ( [id] => 1613197 [place] => 11 [position] => 401 [promote_date] => <calculated date> ) [2] => Array ( [id] => 1648966 [place] => 11 [position] => 3 [promote_date] => <calculated date> ) ) 函数外部使用的变量即可。

onload