実際に使われている XPath のデータを大量に欲しかったので
どうしよーって悩んでたら
。。。!!!AutoPagerize があるじゃん!!!
ってことで SITEINFO を JSON 化するブックマークレット作った。(既出?
ブックマークレット
javascript:(function(){var result = document.evaluate('//textarea[@class="autopagerize_data"]',document, null, 7, null); var array = [];for (var i = 0, l = result.snapshotLength; i < l; i ++) {var data = result.snapshotItem(i).value;var json = '({' + data.replace(/\s*$/, '').replace(/\\/g, '\\\\').replace(/'/g, '\\\'').replace(/$/mg, '\'').replace(/(^\w+:)\s*/mg, '$1\'').split(/\n/).join(',') + '})';array.push(json);}/*try { eval('[' + array.join(',') + ']'); alert('ok'); } catch(e) { alert('ng') }*/var t=document.createElement('textarea');document.body.insertBefore(t, document.body.firstChild);var s=t.style;s.padding='0';s.margin='auto 0';s.border='solid 1em gray';s.width='90%';s.height='20em';t.value='[' + array.join(',') + ']';})();
このページ → http://swdyh.infogami.com/autopagerize で実行してください
中身はだいたいこんな感じになってます。
// XPath で textarea 取得 var result = document.evaluate('//textarea[@class="autopagerize_data"]', document, null, 7, null); // それぞれをJSON 化 var array = []; for (var i = 0, l = result.snapshotLength; i < l; i ++) { var data = result.snapshotItem(i).value; var json = '({' + data.replace(/\s*$/, '').replace(/\\/g, '\\\\').replace(/'/g, '\\\'').replace(/$/mg, '\'').replace(/(^\w+:)\s*/mg, '$1\'').split(/\n/).join(',') + '})'; array.push(json); } /*try { eval('[' + array.join(',') + ']'); alert('ok'); } catch(e) { alert('ng') }*/ // DEBUG // 結合 console.log('[' + array.join(',') + ']'); // JSON
まとめ
AutoPagerize 最高です><!
使ってください