Last active
September 23, 2017 16:00
-
-
Save LeonardoCiaccio/43a7457f7a4ac9a96baa to your computer and use it in GitHub Desktop.
Accessori, da utilizzare quasi sempre, cross browser, in espansione ...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function copyToClipboard( element ){ | |
var $temp = $( "<input>" ); | |
$( "body" ).append( $temp ); | |
$temp.val( $( element ).text() ).select(); | |
document.execCommand( "copy" ); | |
$temp.remove(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
( function( W, D ){ | |
window.U = { | |
/* | |
U.getLang() | |
Restituisce la lingua del browser | |
*/ | |
getLang : function(){ | |
return navigator.language || navigator.userLanguage; | |
}, | |
/* | |
U.sanitize( string ); | |
Pulisce una sctringa da caratteri speciali | |
*/ | |
sanitize : function( string ){ | |
return string.trim().replace( /[^a-z 0-9]+/gi, "" );//.replace( / /gi, "-" ); | |
}, | |
/* | |
U.addEvent( evnt, elem, func ) | |
Appende un evento ad un elemento | |
*/ | |
addEvent : function( evnt, elem, func ){ | |
try{ | |
if( elem.addEventListener ){ | |
elem.addEventListener( evnt, func, false ); | |
}else if( elem.attachEvent ){ | |
var r = elem.attachEvent( "on" + evnt, func ); | |
}else{ | |
return false; | |
} | |
return true; | |
}catch( e ){ | |
return false; | |
} | |
}, | |
/* | |
U.getSelectedText() | |
Restituisce il testo selezionato nella pagina | |
*/ | |
getSelectedText : function(){ | |
var t = ""; | |
try{ | |
if( W.getSelection ){ | |
t = W.getSelection(); | |
}else if( D.getSelection ){ | |
t = D.getSelection(); | |
}else if( D.selection ){ | |
t = D.selection.createRange().text; | |
} | |
}catch( e ){} | |
return t; | |
}, | |
/* | |
U.clone( obj ) | |
Clona un oggetto | |
*/ | |
clone( obj ){ | |
if( !obj || typeof obj != "object" )return {}; | |
var news = {}; | |
for( var key in obj ) { | |
news[ key ] = obj[ key ]; | |
} | |
return news; | |
}, | |
/* | |
U.merge( source, news ); | |
Aggiorna un oggetto ottimo per i settaggi | |
*/ | |
merge : function( source, news ){ | |
source = source || {}; | |
news = news || {}; | |
for( var key in source ) { | |
if( source.hasOwnProperty( key ) && !( key in news )) { | |
news[ key ] = source[ key ]; | |
} | |
} | |
return news; | |
}, | |
/* | |
U.grep( items, callback ) | |
filtra un array a seconda di un criterio | |
*/ | |
grep : function( items, callback ){ | |
var filtered = [], | |
len = items.length, | |
i = 0; | |
for( i; i < len; i++ ){ | |
if( callback( items[ i ] ) )filtered.push( items[ i ] ); | |
} | |
return filtered; | |
}, | |
/* | |
U.getXHR() | |
restituisce un oggetto XMLHttpRequest o null | |
*/ | |
getXHR : function(){ | |
try { | |
return new XMLHttpRequest(); | |
}catch(e){} | |
try { | |
return new ActiveXObject("Msxml3.XMLHTTP"); | |
}catch(e){} | |
try { | |
return new ActiveXObject("Msxml2.XMLHTTP.6.0"); | |
}catch(e){} | |
try { | |
return new ActiveXObject("Msxml2.XMLHTTP.3.0"); | |
}catch(e){} | |
try { | |
return new ActiveXObject("Msxml2.XMLHTTP"); | |
}catch(e){} | |
try { | |
return new ActiveXObject("Microsoft.XMLHTTP"); | |
}catch(e){} | |
return null; | |
}, | |
/* | |
U.paramsToJSON() | |
restituisce un oggetto JSON | |
*/ | |
paramsToJSON : function( params ){ | |
if( !params || params == "" )return {}; | |
params = "{\"" + | |
params | |
.replace( /\?/gi, "" ) | |
.replace( /\&/gi, "\",\"" ) | |
.replace( /\=/gi, "\":\"" ) + | |
"\"}"; | |
return JSON.parse( params ); | |
}, | |
/* | |
https://regex101.com/r/aAx3u7/2 | |
*/ | |
searchLinks : function( text ){ | |
return text.match( /(http?s?:?\\?\/?\\?\/[^\s,"'<>]+)/g ) || []; | |
} | |
}; | |
} )( window, document ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment