AutoPagerize: resolve img src
例の絶対パス、相対パスの問題だと思うけど、AutoPagerize でこのページを下っていくと同じフォトが何回も表示されちゃう。src が相対パスのままだからなのかな?
http://journal.mycom.co.jp/column/photologue/011/index.html
http://twitter.com/taizooo/statuses/1754598650
継ぎ足した2ページ以降の photo のアンカーは絶対パスになってるんだけど、img src は相対パスのままなのな
http://twitter.com/taizooo/statuses/1754634851
http://utatane.tumblr.com/post/105831259/autopagerize-resolve-img-src
http://twitter.com/Constellation/statuses/1754713730
ということで、thx!!! Constellation
autopagerize.user.js (ver 0.0.37) 684行目付近の linkFilter 改変。
- http://userscripts.org/scripts/show/8551
- http://utatane.tumblr.com/post/105831259/autopagerize-resolve-img-src
var linkFilter = function(doc, url) { var base = getFirstElementByXPath('//base[@href]', doc) var baseUrl = base ? base.href : url var isSameBase = isSameBaseUrl(location.href, baseUrl) if (!FORCE_TARGET_WINDOW && isSameBase) { return } var anchers = getElementsByXPath('descendant-or-self::a[@href]', doc) anchers.forEach(function(i) { var attrHref = i.getAttribute('href') if (FORCE_TARGET_WINDOW && !attrHref.match(/^#|^javascript:/) && i.className.indexOf('autopagerize_link') < 0) { i.target = '_blank' } if (!isSameBase && !attrHref.match(/^#|^\w+:/)) { i.href = resolvePath(i.href, baseUrl) } }) var srcs = getElementsByXPath('descendant-or-self::*[self::img[@src] or self::embed[@src]]', doc) srcs.forEach(function(elm){ var src = elm.getAttribute('src') if (!isSameBase && !src.match(/^#|^\w+:/)) { elm.src = resolvePath(elm.src, baseUrl) } }) var data_elms = getElementsByXPath('descendant-or-self::object[@data]', doc) data_elms.forEach(function(elm){ var data = elm.getAttribute('data') if (!isSameBase && !data.match(/^#|^\w+:/)) { elm.data = resolvePath(elm.data, baseUrl) } }) }