מדיה ויקי:סקריפטים/73.js
מראה
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
//original code by [[:en:User:Writ Keeper]], modified by [[:he:User:קיפודנחש]]
"use strict";
$( function()
{
function convertTable( table )
{
var str =
$( "tr", table ).map( function( index, row ) {
return ( $( "th,td", row )
.map( function( index, cell ) {
var clone = $( cell ).clone();
clone.find( '*' ).filter( function() { return $( this ).css( 'display' ) == 'none'; } ).remove();
return $.trim(clone.text())
.replace(/,/mg, 'ˌ') // dirty trick: replace all commas with unicode 0x2cc, which looks somewhat similar
.replace( /\s+/mg, ' ' ); // no newlines, tabs, etc.
} )
.toArray()
.join( ',' ) );
} )
.toArray()
.join( '\n' );
return mw.util.rawurlencode( str );
}
$( '.wikitable' ).each( function( index, table )
{
var fileName = (table.id || 'table') + '.csv',
linkText = (mw.config.get( 'wgUserLanguage' ) === 'he' ? 'יצוא כקובץ CSV' : 'Export as CSV'),
linkTitle = (mw.config.get( 'wgUserLanguage' ) === 'he' ? 'שמור למחשב האישי קובץ בפורמט CSV, שניתן לייבא אחר כך לגיליון נתונים אלקטרוני' : 'Download a CSV file, which can be imported into a spreadsheet to your local computer');
$( '<a>', { href: '#', download: fileName, title: linkTitle } )
.text( linkText )
.insertAfter( table )
.click( function() { this.href = 'data:text/csv;charset=UTF-8,' + convertTable( table ); } );
} );
} );