Benutzer:Magnus Manske/isbn ext.js
Zur Navigation springen
Zur Suche springen
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
var isbn_ol_key ;
function isbn_call_json ( url ) {
var script = document.createElement('script');
script.setAttribute('src', url);
document.getElementsByTagName('head')[0].appendChild(script);
}
function isbnrecall ( j ) {
if ( j['status'] != 'ok' ) return ;
if ( undefined == j['result'] ) return ;
if ( undefined == j['result'][0] ) return ;
isbn_ol_key = j['result'][0] ;
var url = "http://openlibrary.org" + isbn_ol_key + ".json?callback=isbnrecall2" ;
isbn_call_json ( url ) ;
}
function isbnrecall2 ( j ) {
var html = '<div style="background-color:#EEEEEE;border:2px solid #DDDDDD;padding:2px">' ;
if ( !(undefined===j['by_statement']) ) html += j['by_statement'] + '<br/>' ;
html += '<h2>' ;
if ( !(undefined===j['title_prefix']) ) html += j['title_prefix'] + ' ' ;
html += j['title'] + '</h2>' ;
if ( !(undefined===j['subtitle']) ) html += '<i>' + j['subtitle'] + '</i><br/>' ;
if ( !(undefined===j['publishers']) ) {
for ( var i = 0 ; i < j['publishers'].length ; i++ ) {
if ( i > 0 ) html += '; ' ;
html += j['publishers'][i] ;
}
if ( j['publishers'].length > 0 ) html += ' ' ;
}
if ( !(undefined===j['edition_name']) ) html += j['edition_name'] + ' ' ;
if ( !(undefined===j['pagination']) ) html += j['pagination'] ;
if ( !(undefined===j['publish_places']) ) html += j['publish_places'] + ' ' ;
if ( !(undefined===j['publish_date']) ) html += j['publish_date'] ;
html += ' <a href="http://openlibrary.org' + isbn_ol_key + '">OpenLibrary-Eintrag</a>' ;
html += '</div>' ;
var div = document.createElement ( 'div' ) ;
div.innerHTML = html ;
var target = document.getElementById('jump-to-nav') ;
var parent = target.parentNode ;
parent.insertBefore ( div , target.nextSibling);
}
function isbn_ext() {
var isbn = document.getElementById('isbn').value ;
var url = "http://openlibrary.org/api/search?q={\"query\":\"" + isbn + "\"}&callback=isbnrecall" ;
isbn_call_json ( url ) ;
}
if ( wgPageName == "Spezial:ISBN-Suche" ) addOnloadHook(isbn_ext);