简体   繁体   中英

Programatically Get the Latest Version Number of Firefox

How can I parse the version number of Firefox programatically.

So, I don't have to visit the page every time. All I would have to do is run the script, and it will give me the latest version.

http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/update/win32/en-US/

The file will always have ".complete.mar" in it. It's the only file with the word "complete" under this directory. How can I parse the version "40.0.2" from it.

Because I have to know the lastest version numbers of many applications, I've created the online service called vergrabber which provides that information in json. You may try this free service at http://vergrabber.kingu.pl/vergrabber.json

Download the latest release

The simple answer is Mozilla Release Engineering already provides a way to download the latest version. See https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt

For example, I want to download the latest Linux 64-bit US English version of Firefox. So I would:

curl -Lo firefox.tar.bz2 'https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US'
tar -xjf firefox.tar.bz2
cd firefox
./firefox --version

Mind you those are stable releases and not RC or nightly. For those see release notes in the appropriate subfolder .

Notes:

  • The curl command URL is surrounded by single quotes ( ' ) to avoid bash interpreting the ampersands ( & ).
  • You would likely want to add your downloaded Firefox at the beginning of the $PATH (or %PATH% in Windows) environment variable.

Get latest release version number

To get the latest version number without downloading the archive you would use the HTTP HEAD method ( curl -I option). Example,

curl -fI 'https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US' | grep -o 'firefox-[0-9.]\+[0-9]'

which will return something like firefox-67.0.4 .

You are going to run into problems because the data you want to check is not within the same domain.

You can however using something like node webkit(now nwjs) to get pass the browser limitation.

  1. To start download the nodewebkit files for your operating system from the following link:

http://nwjs.io/

  1. Extract the contents.

  2. Download JQuery and place it in the extracted folder(rename the file jquery.js).

  3. create a new text file, add the following contents and save it as package.json

package.json contents:

{
  "main": "index.html",
  "name": "firefoxversion",
  "version": "1",
  "window": {
    "title": "latest firefox version",
    "icon": "link.png",
    "toolbar": true,
    "width": 800,
    "height":600
   }
}

Create a file name index.html and save the following contents:

index.html contents:

<html>
    <head>
        <title>Latest Firefox Version</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>

        <div id="result"></div>




        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="main.js"></script>
    </body>
</html>
  1. Next create a file named main.js and save the following contents:

main.js contents:

var url ="http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/latest/update/win32/en-US/";


var version;

$.get(url,function(data){//begin function


$(data).contents().find("a").each(function(){//begin each function


//create an array to hold the hmtl
var html = [];


if($(this).attr("href").indexOf("complete.mar" !== -1 )){//begin if then


version = $(this).attr("href").split(".c");


//start building your html to output
html.push("Download the latest Firefox Version " + version[0] + " below:<br>");

//add the download button
html.push("<input type ='button' id ='firefox-latest' value = 'Download Firefox'>");


//display the html in the #result div
$("#result").html(html.join(""));


}//end if then


});//end each function




});//end function

//on click event for #firefox-latest
$(document).on("click","#firefox-latest",function(){//begin on click event

//change the window location to the file for the latest firefox version
window.location.href = url + version[0] + ".complete.mar";


});//end on click event
  1. Lastly click on the nw.exe icon inside of the folder you extracted earlier and you should see the latest version number of firefox.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM