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= | 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 | ||