/*------------------------------------------------------------------------------------------------------------------------ File Extension add-ons to <a> --------------------------------------------------------------------------------------------------------------------------*/ $.fn.addFileExt = (function(options){ var pdfExt = /[.](pdf)/; var pptxExt = /[.](pptx)/; var xlsExt = /[.](xls)/; var docExt = /[.](doc)/; var docxExt = /[.](docx)/; var _noExt = '' var fileExt = {_fileExtType: '_noExt'}; $.extend(fileExt, options) var overRideExt = $.metadata ? $.extend({}, fileExt, $.metadata.get(this)) :fileExt; return $(this).each(function() { var pdfResult = $(this).attr('href').match(pdfExt); var pptxResult = $(this).attr('href').match(pptxExt); var xlsResult = $(this).attr('href').match(xlsExt); var docResult = $(this).attr('href').match(docExt); var docxResult = $(this).attr('href').match(docxExt); var spanPDFClass = $("<span>[PDF]</span>").addClass("ext"); var spanPPTXClass = $("<span>[PPTX]</span>").addClass("ext"); var spanDOCClass = $("<span>[DOC]</span>").addClass("ext"); var spanDOCXClass = $("<span>[DOCX]</span>").addClass("ext"); var spanXLSClass = $("<span>[XLS]</span>").addClass("ext"); var extResult = $(this).attr('href').match(overRideExt._fileExtType); switch(extResult){ case pdfResult: $(this).parent().append(spanPDFClass); break; case pptxResult: $(this).parent().append(spanPPTXClass); break; case docResult: $(this).parent().append(spanDOCClass); break; case docxResult: $(this).parent().append(spanDOCXClass); break; case xlsResult: $(this).parent().append(spanXLSClass); break; }; }); });
/*------------------------------------------------------------------------------------------------------------------------ File extension add-ons (pdf,pptx,doc,docx,xls) --------------------------------------------------------------------------------------------------------------------------*/ // Check whether links are internal(www.ashp.org): // (Only works with elements that have href): var internalURL = window.location.hostname; $.extend($.expr[':'],{ internal: function(a) { if(!a.href) {return false;} return a.hostname && a.hostname == internalURL; } }); $('li a:internal[href$="pdf"]').addFileExt({_fileExtType:'pdfExt'}).css('background-color','red'); $('li a:internal[href$="pptx"]').addFileExt({_fileExtType:'pptxExt'}).css('background-color','yellow'); $('li a:internal[href$="doc"]').addFileExt({_fileExtType:'docExt'}).css('background-color','green'); $('li a:internal[href$="docx"]').addFileExt({_fileExtType:'docxExt'}).css('background-color','orange'); $('li a:internal[href$="xls"]').addFileExt({_fileExtType:'xlsExt'}).css('background-color','blue');
<ul> <li><a href="http://wifl/test.pdf">Test PDF</a></li> <li><a href="http://wifl/test.pptx">Test PPTX</a></li> <li><a href="http://wifl/test.doc">Test DOC</a></li> <li><a href="http://wifl/test.docx">Test DOCX</a></li> <li><a href="http://wifl/test.xls">Test XLS</a></li> </ul>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)