Opera12 - eBay Login broken
-
A Former User last edited by A Former User
obviously there are reasons, otherwise i would use vivaldi.
-
burnout426 Volunteer last edited by
For window.performance support, you might be able to fake it with a polyfill like: https://github.com/blackswanny/performance-polyfill/blob/master/src/index.js
You would include all that js in your ebay.js User JS file.
Next, to convert 'let' keyword support to preES6 support, you'd use a transpiler like Babel: https://unpkg.com/babel-standalone@6.26.0/babel.min.js.
You would include all that js in your ebay.js User JS file too.
Then, in ebay.js, you'd use:
window.opera.addEventListener("BeforeScript", function(e) { e.element.text = Babel.transform(e.element.text, { presets: ['es2015'] }).code; //alert(e.element.text); }, false);
to intercept scripts and convert them to older JS code that will run in Opera 12.
You'd set the folder ebay.js is in as a global User JS folder via "Alt + p -> Advanced -> Content -> Javascript options" untill you know all the domains you need to apply ebay.js to for ebay to work. Then, you can just set the folder via site preferences only for the ebay domains in question.
Since this is intercepting all scripts and converting them, it's going to make the page load slower. You could do something like:
window.opera.addEventListener("BeforeScript", function(e) { if (e.element.text.indexOf("let") != -1) { e.element.text = Babel.transform(e.element.text, { presets: ['es2015'] }).code; //alert(e.element.text); } }, false);
to only convert when "let" is seen. That could make the page load faster as there might be less converting. Using regex to only match the word "let" might be better so that you don't get false positives. Then again, there might be more than "let" usage that needs to be converted, so always converting might be the best bet.
Anyway, getting this far and trying it on ebay.com to sign in doesn't solve the issue because there are more errors. The next one to solve is the lack of requestAnimationFrame support. You'll probably have to use a polyfill for that too.
Once that's solved (if the polyfill helps with that), you'll have to see what script errors are left and solve those. Ctrl + shift + i to load the developer tools can help with that.
So, that might get your started at least.
-
burnout426 Volunteer last edited by
I thought using a mobile user agent string like
Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36
in Opera viaopera:config#UserPrefs|CustomUser-Agent
and going to m.ebay.com would help. But, when you choose to sign in there, it still takes you to the same sign-in page that you get for desktop. -
burnout426 Volunteer last edited by
If you view source of the ebay login page and look for the form, you'll see:
<form id="SignInForm" name="SignInForm" action="https://www.ebay.com/signin/s" method="post">...
Looking at all the input elements that follow, you might be able to construct an HTML-only login form page (ebaylogin.html) for example that you can put on your desktop and bookmark. But, haven't tried that. The login might be protected by tokens that are generated from the JS on the page (which doesn't load in Opera 12 right). But, maybe not.
-
burnout426 Volunteer last edited by
It's look like this:
ebaysignin.html
<form action="https://www.ebay.com/signin/s" method="post"> <input type="text" name="userid"> <input type="password" name="pass"> <input type="submit" value="Sign In"> </form>
But, you'll need some of the other
<input>
elements that are type="hidden" from the page with the correct values etc. -
burnout426 Volunteer last edited by burnout426
Or, maybe just user User JS to add a regular submit button to the form on the logon page. Since it won't use JS, clicking it should at least submit the form. I'll try that after a bit.
-
burnout426 Volunteer last edited by
@burnout426 That doesn't seem to work. Same with creating a form that duplicates all the form data that Chrome submits for example. In Opera 12, ebay says there's a mismatch with the username and password.
-
burnout426 Volunteer last edited by
When tesing the User JS above, don't forget to enable
opera:config#UserPrefs|AlwaysLoadUserJavaScript
,opera:config#UserPrefs|UserJavaScript
andopera:config#UserPrefs|UserJavaScriptonHTTPS
and restart so that the User JS always runs on the https ebay login page.I think I'm done messing around with this issue, but I'll leave you with this:
ebaysignin.html:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form action="https://www.ebay.com/signin/s" method="post"> <input type="hidden" name="i1" value=""> <input type="hidden" name="pageType" value="-1"> <input type="hidden" name="srt" value="correct value goes here"> <input type="hidden" name="tagInfo" value="correct value goes here"> <input type="hidden" name="mid" value="correct value goes here"> <input type="hidden" name="usid" value="correct value goes here"> <input type="hidden" name="htmid" value=""> <input type="hidden" name="fypReset" value=""> <input type="hidden" name="iCurl" value=""> <input type="hidden" name="src" value=""> <input type="hidden" name="AppName" value=""> <input type="hidden" name="srcAppId" value=""> <input type="hidden" name="errmsg" value=""> <input type="hidden" name="rtmData" value="PS=T.0"> <input type="hidden" name="rgid" value="value goes here"> <input type="hidden" name="some guid" value="value for that guid"> <input type="text" name="userid" value="your username or email address"> <input type="password" name="pass" value="your password"> <input type="hidden" name="keepMeSignInOption2" value="on"> <input type="submit" value="Sign In"> </form> </body> </html>
If you can figure out the correct values for the inputs above that are not empty or already specified (the ones with value="" shouldn't need to have values, but should be present perhaps), you might be able to load the page and log in that way in Opera 12. If you think you have all the values right and it still doesn't work, you might also have to make sure to set a modern user-agent string (that doesn't have 'opera' or 'opr" in it) via
opera:config#UserPrefs|CustomUser-Agent
. You might also have to have a User JS script active that doeswindow.opera=undefine;
to further hide Opera from the site.If things still don't work, it might be a referrer issue where the ebay server-side script detects that you're not submitting from an ebay page. In that cause, in Opera 12, view sourcer of the log in page, replace its content with the markup above, apply changes and then submit.
Good luck.
-
A Former User last edited by
huh, didnt check on this for a while.
really appreciate the big effort burnout, looks more like a phd thesis on the subject!
i would have tried all this now, but ebay seems to have changed something meanwhile, because the login button is working now again on opera 12! one can log in again.
cheers mate