insight diary title rewrite
by
taizooo
2019-02-05 [2019/02/05 14:13:49]
先見日記の題名を title に表示する
-
/*
* @title insight diary title rewrite
* @description 先見日記の題名を title に表示する
* @include http://www.nttdata.com/jp/ja/diary/*
*/
(function() {
// base
var base = '//*[@id="bass-content-body"]/div/table[2]/tbody/tr/td[2]/table[2]';
// http://www.nttdata.com/jp/ja/diary/diary2003/06/20030613.html
var title1 = './tbody/tr/td[5]/font[1]/b';
var subtitle1 = './tbody/tr/td[5]/font[2]';
// http://www.nttdata.com/jp/ja/diary/diary2003/06/20030614.html
var title2 = './tbody/tr/td[2]/font[1]';
var subtitle2 = './tbody/tr/td[2]/font[2]';
var node = $X(base)[0];
var title = $X(title1 + '|' + title2, node)[0].textContent;
var subtitle = $X(subtitle1 + '|' + subtitle2, node)[0].textContent;
document.title = title + " (" + subtitle + ") " + " : " + "先見日記 Insight Diaries";
// https://gist.github.com/os0x/3242
// simple version of $X
// $X(exp);
// $X(exp, context);
// @source https:/raw.github.com/gist/3242
function $X(exp, context) {
context || (context = document);
var expr = (context.ownerDocument || context).createExpression(exp, function(prefix) {
return document.createNSResolver(context.documentElement || context).lookupNamespaceURI(prefix) ||
context.namespaceURI || document.documentElement.namespaceURI || "";
});
var result = expr.evaluate(context, XPathResult.ANY_TYPE, null);
switch (result.resultType) {
case XPathResult.STRING_TYPE:
return result.stringValue;
case XPathResult.NUMBER_TYPE:
return result.numberValue;
case XPathResult.BOOLEAN_TYPE:
return result.booleanValue;
case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
// not ensure the order.
var ret = [],
i = null;
while (i = result.iterateNext()) ret.push(i);
return ret;
}
return null;
}
})()
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。