Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- TODO:
- 普通の画像やURL -> <a>に囲まれてURLも出る(そりゃそうだ。
- imgurが入った場合 -> document.querySelectorAll(".imgur");
- お絵描きが入った場合 -> document.querySelectorAll("dd > a > img");
- その両方wの場合 -> ↑でもいいけど、document.querySelectorAll(".pic"); もしくは, document.querySelectorAll(".pic.lazy");
- */
- var Op2SureObj = (function(){
- /* private member */
- var _fromDL = 0;
- var _toDL = 0;
- var _data = {
- info : {},
- res : []
- };
- /* initializer */
- _init();
- /* private method */
- function _init(){
- //_data.infoの中身を設定する
- var _url = document.querySelector("link[rel='canonical'").href;
- var _hostname = location.hostname;
- var _pathname = location.pathname;
- var _bbsname = _url.split("/")[5];
- var _surekey = _url.split("/")[6];
- _data.info = {
- url : _url,
- hostname : _hostname,
- pathname : _pathname,
- bbsname : _bbsname,
- surekey : _surekey
- }
- _updateDL();
- return;
- }
- function _updateDL(){
- //一時変数
- var _dt = [];
- var _dd = [];
- var _dti;
- var _mailTemp;
- //_.data.resに格納する情報
- var _num;
- var _name;
- var _mail;
- var _time;
- var _id;
- var _text;
- //dl要素を取得する
- var _dthread = document.querySelector(".thread");
- var _dl = _dthread.getElementsByTagName("dl");
- //_data.resに格納する範囲を更新する
- _fromDL = _toDL;
- // _fromDL = _data.res.length;
- _toDL = _dl.length;
- console.log(_fromDL);
- console.log(_toDL);
- //dlをdtとddに分解する
- for(var ix = _fromDL; ix < _toDL; ix++){
- _dt.push( _dl[ix].getElementsByTagName("dt")[0] );
- _dd.push( _dl[ix].getElementsByTagName("dd")[0] );
- }
- //ddは要素毎にinnerTextしてOp2obj.resに格納する
- for(var ix = 0; ix < _toDL - _fromDL; ix++){
- //メール欄取得処理
- _mailTemp = _dt[ix].querySelector("font > a") || _dt[ix].querySelectorAll("a")[1];
- _mail = _mailTemp === null || _mailTemp === undefined ? undefined : _mailTemp.getAttribute("href").split(":")[1];
- //テキスト(レス内容)取得処理
- _text = _dd[ix].innerText;
- //その他の取得処理
- _dti = _dt[ix].innerText;
- _dti = _dti.split(":");
- _num = _dti[0].match(/[0-9]*/)[0] - 0;
- _name = _dti[1].substr(_dti[1].length-1) === " " ? _dti[1].substr(0,_dti[1].length-1) : _dti[1];
- _time = _dti[2].split(" ID:")[0];
- _id = _dti[2].split(" ID:")[1].split(" ")[0];
- //オブジェクトに格納する
- _data.res.push( {
- num : _num,
- name : _name,
- mail : _mail,
- time : _time,
- id : _id,
- text : _text
- });
- }
- }
- /* public API */
- return {
- data : _data,
- update : _updateDL
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement