New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
alert + setTimeout = failure (was: GM_xmlhttpRequest fails silently) #1318
Comments
Confirmed working in 3.6, failing in 4.0. |
Scratch that. Provided case confirmed. My case linked above works as expected. So the bug is somewhere in the difference between the two. Also: when they both run on the same page neither work. But with both installed on a page that only runs mine, it works. |
The difference appears to be (this makes no sense to me yet) the leading alert. If I remove the 'hello world' alert from the provided test case, it works as expected. |
I'm having the same issue on my scripts, but I don't have any alerts or anything. It also seems that nothing after the silent failure will run either. Perhaps the issue has something to do with the double-checking of the scope chain? Can somebody test and confirm/refute this? |
Same here: Firefox 3.6.15 and Greasemonkey 0.9.1 no problems, but with FireFox 4 the GM_xmlhttpRequest does "nothing" (at least nothing visible). |
I'm also having the issue that the 'onload' of an GM_xmlhttpRequest() is never invoked, although opening the given URL directly in Firefox 4 works just fine. I'm connecting to a GAE instance via HTTPS. If I switch to HTTP, it works. But of course I'd prefer to use HTTPS and it has worked like that in Firefox 3.6.x. |
It works for me on FF4 at one windows vista computer but not on a windows 7 computer. |
Here's what I found out so far. Test script: https://gist.github.com/906344 This script will do an
Once per page loaded. The second line is the "success" case. Close your browser, wait a minute, then reopen it. You'll see the alert the first time, then for each page the console will only show the first line, the latter will never get called. This seems to happen forever, as soon as gm_xhr is broken by running the alert first (?!) it's broken "forever" (at least until browser re-launch). This, at a minimum, helps explain the inconsistency in previously noted behavior. Stuff that happened in a completely different execution -- even in a completely separate script (tested with a second copy of this without the alert and altered log lines) -- will break all gm_xhr in this browser. |
http://groups.google.com/group/greasemonkey-users/t/aed1ecc36fa9e404?hl=en This seems very related. |
Reduced test case! https://gist.github.com/910628 Calling |
Calling alert() in a user script causes setTimeout() to fail. GM_xhr happens to depend on setTimeout().Well it also fails in FF4 with GM 0.8.0 so it sounds like a moz bug to me. |
Okay seriously. I have FF4 and greasemonkey 0.9.2 and have been struggling with this for about 2 hours. It somehow worked when I decided to open up a new tab and run it. I don't know what killed the tab but it seems to be working fine now for me. |
Opening a new tab fixed this issue for me too. (After removing the alert.) |
confirmed what @theYeas says; open a new tab. Might be an issue in upstream. |
On 05/04/11 04:14, gbraad wrote:
It definitely is, I linked it above, and they've confirmed it and found |
saw the link and reported this also on the stackoverflow question that brought me here. I bought this immediately affects users, but during development you can seriously cut yourself. For example, I saw traffic from the browser to the server, server responded correctly... but the onload never got triggered. Now I probably know why; earlier testing with alert. |
If it just depends on alert, replace: alert("Alarm!"); with: window.setTimeout(function() { alert('Alarm!') }, 1000); |
This -fix- is actually insufficient: confirm and prompt at least will cause the same failure. But ultimately all we can do is work around the upstream problem. I'm closing this, and adding another issue to track the upstream bug, and remove the workaround when it is resolved. Edit: #1350 |
hi, here work fine after my patch; |
When I try this code, I get the "hello world", but the GM_xmlhttpRequest seems to fail silently.
I use Firefox 4.0, Greasemonkey 0.9.1.
The text was updated successfully, but these errors were encountered: