Fixes #1523, Adding support for amazon guides and lists
This commit is contained in:
parent
11f10624e9
commit
48b8361c8a
1 changed files with 14 additions and 4 deletions
|
@ -16,7 +16,8 @@ function detectWeb(doc, url) {
|
||||||
var suffixRe = new RegExp("https?://(?:www\.)?amazon\.([^/]+)/");
|
var suffixRe = new RegExp("https?://(?:www\.)?amazon\.([^/]+)/");
|
||||||
var suffixMatch = suffixRe.exec(url);
|
var suffixMatch = suffixRe.exec(url);
|
||||||
var suffix = suffixMatch[1];
|
var suffix = suffixMatch[1];
|
||||||
var searchRe = new RegExp('^https?://(?:www\.)?amazon\.' + suffix + '/(gp/search/|exec/obidos/search-handle-url/|s/)');
|
var searchRe = new RegExp('^https?://(?:www\.)?amazon\.' + suffix + '/(gp/search/|exec/obidos/search-handle-url/|s/|[^/]+/lm/|gp/richpub/)');
|
||||||
|
Zotero.debug(searchRe.test(doc.location.href));
|
||||||
if(searchRe.test(doc.location.href)) {
|
if(searchRe.test(doc.location.href)) {
|
||||||
return "multiple";
|
return "multiple";
|
||||||
} else {
|
} else {
|
||||||
|
@ -63,7 +64,7 @@ function doWeb(doc, url) {
|
||||||
var suffixMatch = suffixRe.exec(url);
|
var suffixMatch = suffixRe.exec(url);
|
||||||
var suffix = suffixMatch[1];
|
var suffix = suffixMatch[1];
|
||||||
|
|
||||||
var searchRe = new RegExp('^https?://(?:www\.)?amazon\.' + suffix + '/(gp/search/|exec/obidos/search-handle-url/|s/)');
|
var searchRe = new RegExp('^https?://(?:www\.)?amazon\.' + suffix + '/(gp/search/|exec/obidos/search-handle-url/|s/|[^/]+/lm/|gp/richpub/)');
|
||||||
var m = searchRe.exec(doc.location.href);
|
var m = searchRe.exec(doc.location.href);
|
||||||
var uris = new Array();
|
var uris = new Array();
|
||||||
if (suffix == "co.jp"){
|
if (suffix == "co.jp"){
|
||||||
|
@ -71,11 +72,19 @@ function doWeb(doc, url) {
|
||||||
}
|
}
|
||||||
if (suffix == ".com") suffix = "com";
|
if (suffix == ".com") suffix = "com";
|
||||||
if(m) {
|
if(m) {
|
||||||
var xpath = '//div[@class="productTitle"]/a | //a[span[@class="srTitle"]]';
|
var availableItems = new Array();
|
||||||
|
|
||||||
|
|
||||||
|
if(doc.location.href.match(/gp\/richpub\//)){ // Show selector for Guides
|
||||||
|
var xpath = '//a[(contains(@href, "ref=cm_syf_dtl_pl") or contains(@href, "ref=cm_syf_dtl_top")) and preceding-sibling::b]';
|
||||||
|
} else if (doc.location.href.match(/\/lm\//)) { // Show selector for Lists
|
||||||
|
var xpath = '//span[@id="lm_asinlink95"]//a'
|
||||||
|
} else { // Show selector for Search results
|
||||||
|
var xpath = '//div[@class="productTitle"]/a | //a[span[@class="srTitle"]]';
|
||||||
|
}
|
||||||
var elmts = doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null);
|
var elmts = doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null);
|
||||||
var elmt = elmts.iterateNext();
|
var elmt = elmts.iterateNext();
|
||||||
var asins = new Array();
|
var asins = new Array();
|
||||||
var availableItems = new Array();
|
|
||||||
var i = 0;
|
var i = 0;
|
||||||
var asinRe = new RegExp('/(dp|product)/([^/]+)/');
|
var asinRe = new RegExp('/(dp|product)/([^/]+)/');
|
||||||
do {
|
do {
|
||||||
|
@ -90,6 +99,7 @@ function doWeb(doc, url) {
|
||||||
} while (elmt = elmts.iterateNext());
|
} while (elmt = elmts.iterateNext());
|
||||||
var items = Zotero.selectItems(availableItems);
|
var items = Zotero.selectItems(availableItems);
|
||||||
|
|
||||||
|
|
||||||
if(!items) {
|
if(!items) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue