Changeset 8278

Show
Ignore:
Timestamp:
03/23/08 03:05:13 (5 years ago)
Author:
hetappi
Message:

lang/javascript/userscripts/crossbooksearch.user.js: added google book search

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/userscripts/crossbooksearch.user.js

    r6565 r8278  
    529529        name: '古書店', 
    530530        targets: { 
     531          // 
    531532          bookoffonline: { 
    532533            name: 'ブックオフオンライン', 
     
    552553//          ebookoff: {}, 
    553554//          ubook: {}, 
     555          // 
    554556          livedoorbooks: { 
    555557            name: 'livedoor BOOKS', 
     
    569571                    price: /中古価格:<span>([\d,]+)円/ 
    570572          } } ] } } 
     573      } } 
     574    }, 
     575 
     576    etc: { 
     577      etc: { 
     578        name: 'その他', 
     579        targets: { 
     580          // 
     581          googlebooksearch: { 
     582            name: 'Google ブック検索', 
     583            keys: { isbn10: true, isbn13: true }, 
     584            func: function(book, lib, callback) { 
     585              var result = { key: lib.key, name: lib.name }; 
     586              var isbn = getIsbn(lib.keys, book); 
     587              if (!isbn) { 
     588                callback(result); 
     589                return; 
     590              } 
     591              GM_xmlhttpRequest({ 
     592                method: 'get', 
     593                url: 'http://books.google.com/books?jscmd=viewapi&callback=parse&bibkeys=ISBN:' + isbn, 
     594                onerror: function(resp) { 
     595                  callback(result); 
     596                }, 
     597                onload: function(resp) { 
     598                  eval(resp.responseText); 
     599                  function parse(resp) { 
     600                    var info = resp['ISBN:' + isbn]; 
     601                    if (info) { 
     602                      result.owned = true; 
     603                      result.enabled = info.preview != 'noview'; 
     604                      result.detail = info.preview_url; 
     605                      callback(result); 
     606                    } else { 
     607                      callback(result); 
     608                    } 
     609                  } 
     610                } 
     611              }); 
     612          } } 
     613          // 
    571614      } } 
    572615    }