Hack 17. Warn Before Opening PDF Links

 < Day Day Up > 

Make your browser double-check that you really want to open that monstrous PDF.

How many times has this happened to you? You're searching for something, or just browsing, and click on a promising-looking link. Suddenly, your browser slows to a crawl, and you see the dreaded "Adobe Acrobat Reader" splash screen. Oh no, you've just opened a PDF link, and your browser is launching the helper application from hell.

This hack saves you the trouble, by popping up a dialog box when you click on a PDF file to ask you if you're sure you want to continue. If you cancel, you're left on the original page and can continue browsing in peace.

This hack is derived from a Firefox extension called TargetAlert, which offers more features and customization options. Download it at http://bolinfest.com/targetalert/.


2.6.1. The Code

This user script runs on all pages. It iterates through the document.links collection, looking for links pointing to URLs ending in .pdf. For each link, it attaches an onclick handler that calls the window.confirm function to ask you if you really want to open the PDF document.

Save the following user script as pdfwarn.user.js:

 // ==UserScript== // @name          PDF Warn // @namespace     http://www.sencer.de/ // @description   Ask before opening PDF links // @include       * // ==/UserScript== // based on code by Sencer Yurdagül and Michael Bolin // and included here with their gracious permission // http://www.sencer.de/code/greasemonkey/pdfwarn.user.js for (var i = document.links.length - 1; i >= 0; i--) { var elmLink = document.links[i]; if (elmLink.href && elmLink.href.match(/^[^\\?]*pdf$/i)) { var sFilename = elmLink.href.match(/[^\/]+pdf$/i);  elmLink.addEventListener('click', function(event) { if (!window.confirm('Are you sure you want to ' +  'open the PDF file "' +  sFilename + '"?')) { event.stopPropagation(); event.preventDefault(); } }, true); } } 

2.6.2. Running the Hack

After installing the user script (Tools Install This User Script), go to http://www.google.com and search for census filetype:pdf. At the time of this writing, the first search result is a link to a PDF file titled "Income, Poverty, and Health Insurance Coverage in the United States." Click the link, and Firefox will pop up a warning dialog asking you to confirm opening the PDF, as shown in Figure 2-9.

Figure 2-9. PDF confirmation dialog


If you click OK, the link will open, Firefox will launch the Adobe Acrobat plug-in, and you will see the PDF without further interruption. If you click Cancel, you'll stay on the search results page, where you can click "View as HTML" to see Google's version of the PDF file converted to HTML.

     < Day Day Up > 


    Greasemonkey Hacks
    Greasemonkey Hacks: Tips & Tools for Remixing the Web with Firefox
    ISBN: 0596101651
    EAN: 2147483647
    Year: 2005
    Pages: 168
    Authors: Mark Pilgrim

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net