commit 55e10eb0ac4e9b61d826d04ec2f7093b40e25eab Author: Rnhmjoj Date: Sat Jul 20 18:19:58 2013 +0200 Commit iniziale diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/License.txt b/License.txt new file mode 100644 index 0000000..262bc27 --- /dev/null +++ b/License.txt @@ -0,0 +1,13 @@ +* +* Custom404 jQuery plugin +* +* Plugin jQuery per pagine di errore personalizzate +* +* Dual licensed under the MIT and GPL licenses: +* http://www.opensource.org/licenses/mit-license.php +* http://www.gnu.org/licenses/gpl.html +* +* @author Michele Guerini Rocco aka Rnhmjoj +* @since 2012 +* + diff --git a/README.md b/README.md new file mode 100644 index 0000000..db39c23 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +Custom 404 +========== + +Plugin jQuery per pagine di errore personalizzate +------------------------------------------------- + +### Informazioni +Un plugin per jQuery che permette di usare pagine di errore personalizzate. +Da usare quando non si può modificare il file `.htacces` su Apache o quando si usano applicazioni non ASP su un server IIS +Semplicemente controlla se la risorsa richiesta è disponibile quando si apre un link. + +### Istruzioni +Aggiungi nel'head: + + + +In un'altro script, ad esempio: + + $(document).ready(function(){ + $("a#prova").custom404({404: "pagina404.html"}); + }); + +Le opzioni sono `statusCode: linkDellaPagina` +Se non si seleziona nulla verranno selezionati di default tutti i link della pagina. + +[Qui](http://jsfiddle.net/pxtbs/) c'è un'altro esempio. diff --git a/jquery.custom404.js b/jquery.custom404.js new file mode 100644 index 0000000..992dff1 --- /dev/null +++ b/jquery.custom404.js @@ -0,0 +1,31 @@ +(function($) { + $.fn.custom404 = function(opzioni) { + var defaults = { + 404: "/404.html", + 403: "/403.html", + 500: "/505.html" + }; + + if (opzioni) + $.extend(defaults, opzioni); + if(!this.selector) + var selezionato = "a"; + else + var selezionato = this.selector; + + $(selezionato).click(function(){ + event.preventDefault(); + var indirizzo = $(this).attr("href"); + + $.ajax({ + url: indirizzo, + success: function(){ + window.location.href = indirizzo; + }, + error: function(xhr){ + window.location.href = defaults[xhr.status]; + } + }); + }); + }; +})(jQuery);