Library: Difference between revisions

Adds location parameter and numeric pane of Advanced search.
added regex to handle case when user might select something improper
Line 8: Line 8:
<source lang=JavaScript>
<source lang=JavaScript>
javascript: (function () {
javascript: (function () {
    // first we get the selection; or do it the Microsoft way
     var t = window.getSelection ? window.getSelection().toString() : document.selection.createRange().text;
     var t = window.getSelection ? window.getSelection().toString() : document.selection.createRange().text;
     window.location = 'http://newburyport.mvlc.org/eg/opac/results?contains=contains;_special=1;qtype=identifier%7Cisbn;locg=1;pane=numeric;query=' + t;
     // create a Regular Expression to test the validity of our input
    var re = /97(?:8|9)([ -])\d{1,5}\1\d{1,7}\1\d{1,6}\1\d$/;
    var OK = re.exec(t);
    if (!OK) {
      // Notify the user if their selection doesn't look right
      alert(t + " isn't a valid ISBN\n Please just select a 10 or 13 digit ISBN\ndashes and spaces are OK");
    } else {
      // hand off to MLVC search
      window.location = 'http://newburyport.mvlc.org/eg/opac/results?contains=contains;_special=1;qtype=identifier%7Cisbn;locg=1;pane=numeric;query=' + t;
    }
})()
})()
</source>
</source>
Line 15: Line 25:
{{Messagebox|type=success|text=Note: for the bookmarklet to work, it all has to be on one line.  The code above is presented on several lines for readability.}}
{{Messagebox|type=success|text=Note: for the bookmarklet to work, it all has to be on one line.  The code above is presented on several lines for readability.}}


Want this bookmarklet?  Drag this link to your browser bookmark bar: <html><a href="javascript: (function(){var t=window.getSelection?window.getSelection().toString():document.selection.createRange().text;window.location='http://newburyport.mvlc.org/eg/opac/results?contains=contains;_special=1;qtype=identifier%7Cisbn;locg=1;pane=numeric;query='+t;})()">Search MLVC</a></html>
Want this bookmarklet?  Drag this link to your browser bookmark bar: <html><a href="javascript: (function(){var t=window.getSelection?window.getSelection().toString():document.selection.createRange().text;var re=/97(?:8|9)([ -])\d{1,5}\1\d{1,7}\1\d{1,6}\1\d$/;var OK=re.exec(t);if(!OK){alert(t+" isn't a valid ISBN\n Please just select a 10 or 13 digit ISBN\ndashes and spaces are OK")}else{window.location="http://newburyport.mvlc.org/eg/opac/results?contains=contains;_special=1;qtype=identifier%7Cisbn;locg=1;pane=numeric;query="+t}})()">Search MLVC</a></html>


== Try it ==
== Try it ==
Select ONLY the numeric portion of an ISBN (dashes and spaces are OK)
* Little Rabbit Foo Foo is ISBN 0671709682
* Little Rabbit Foo Foo is ISBN 0671709682
* Free Culture is ISBN 1594200068
* Free Culture is ISBN 1594200068