How to change user agent using Firefox
A video demonstrating how to change the user agent of your Firefox browser.
A video demonstrating how to change the user agent of your Firefox browser.
Recently, we registered for some online instructor-led courses in isc2.org.
We were using a Ubuntu GNU/Linux
machine with the latest Firefox
/ Chromium
and even Chrome
versions.
There was something wrong with the meeting. When clicking on the Join
button, instead of loading, it was trying to download a java applet configuration (CiscoWebExServlet
).
After reading about those files and a lot of work, which included setting up a 32-bit version of Firefox
with a 32-bit version of the Oracle JRE
and installing IcedTea
, we managed to connect to the meeting, but we had no audio.
When trying to connect to the meeting via phone, we got no voice.
When trying the mobile application, it required a password, which was never supplied.
So, we had to find another way in!
Using the Network
tab of the Inspect Elemen
t menu, we clicked on the gear in the upper right corner and enabled the Persist Log
option. Then we clicked on the Join
button and logged all redirects with their parameters.
In isc2.org
virtual class, the Join
button has a custom link to https://www.cirqlive.com/, which is used to join the meetings.
Once you click on that button, the browser follows several redirects between webex.com
and cirqlive.com
, and it ends up on this page https://isc2training.webex.com/tc3300/webcomponents/docshow/meetingframe.do?siteurl=isc2training
asking to download the servlet.
From the logged redirects of the above link, we got the request to https://isc2training.webex.com/tc3300/m.do
where we got the meeting ID and password in the POST
parameters.
Then went to https://signin.webex.com/join added the meeting ID, which led us to this page https://isc2training.webex.com/isc2training/e.php?AT=SI&From=GPS&MK=XXXXXXXX
(using fake meeting ID)
We filled in the Session Password and clicked on Join by browser
, and we could join as expected.
Recently, we needed to perform an infinite scroll on a website so that it would load all of its resources (both text and images). As the website was too long and it would take hours to manually scroll little by little, we used the Firefox console and JavaScript to perform the scroll without any additional plugins.
To do so we followed these steps: First we pressed the F12
button to enable the build-in console of Firefox.
Then, we typed allow pasting
in the console to enable the ability to paste code directly into the console editor. Once we did that, we deleted the text allow pasting
as it would create a problem once we run our code later on.
Following, we pasted the following code which both defines the function that performs the infinite scroll and the call that starts it.
//To avoid naming conflicts, give a non common names to the function and variable
var bytefreaksTimeout;
function bytefreaksScroll() {
window.scrollBy(0,1);
bytefreaksTimeout = setTimeout(bytefreaksScroll,10);
}
bytefreaksScroll();
As you will see in the following video, the scrolling was working flawlessly, once the scrolling reached the place we needed it to we used the following line in the console to stop the scrolling.
clearTimeout(bytefreaksTimeout);
Recently, we were working with Google Charts at which we were presenting data from a timeline with some processing.
Our JavaScript code was formatted as follows to create Date objects:
$value = "2020-03-19 23:45:00"; var dateStrFormat = new Date($value);
The above code worked fine on Firefox
and Chrome
but it failed on Safari
with the error:
a.getTime is not a function. (In 'a.getTime()', 'a.getTime' is undefined)
After some investigation we found that Safari
does not support a Date()
constructor that contains time as well so we had to change the code to the following block:
var dateStr = "2020-03-19"; var dateStrFormat = new Date(dateStr); var hourStr = "23"; var minutesStr = "45"; dateStrFormat.setHours(hourStr, minutesStr);
The above works on all browsers!