1 // historymanager.js 2 // (2007/08/07) 3 4 /** @fileOverview 5 * スキン側でも履歴を管理してみようの巻。 6 * コンテキストメニューもどきと連携させてみる 7 */ 8 9 /** 板の ID と名称の対応テーブル 10 * @type Object 11 * @example 12 * dump(boardTable["liveetv"]); // "番組ch(NHK教育)" 13 */ 14 var boardTable = { 15 "namazuplus":"地震速報", 16 "eq":"臨時地震", 17 "eqplus":"臨時地震+", 18 "manifesto":"政治家語録", 19 "bizplus":"ビジネスnews+", 20 "mnewsplus":"芸スポ速報+", 21 "femnewsplus":"美人ニュース+", 22 "be":"面白ネタnews", 23 "nandemo":"なんでも質問", 24 "argue":"朝生", 25 "newsplus":"ニュース速報+", 26 "wildplus":"ニュース二軍+", 27 "moeplus":"萌えニュース+", 28 "dqnplus":"痛いニュース+", 29 "scienceplus":"科学ニュース+", 30 "owabiplus":"お詫び+", 31 "liveplus":"ニュース実況+", 32 "news":"ニュース速報", 33 "trafficinfo":"交通情報", 34 "musicnews":"芸能音楽速報", 35 "comicnews":"アニメ漫画速報", 36 "gamenews":"ゲーム速報", 37 "pcnews":"PCニュース", 38 "news7":"私のニュース", 39 "archives":"懐かしニュース", 40 "news2":"ニュース議論", 41 "asia":"ニュース極東", 42 "bakanews":"バカニュース", 43 "editorial":"社説", 44 "kokusai":"国際情勢", 45 "news4plus":"東アジアnews+", 46 "news5":"イスラム情勢", 47 "iraq":"イラク情勢", 48 "news5plus":"ニュース国際+", 49 "entrance":"ラウンジ", 50 "entrance2":"ラウンジclassic", 51 "qa":"初心者の質問", 52 "pcqa":"PC初心者", 53 "goods":"グッズリスト", 54 "gline":"ガイドライン", 55 "event":"イベント企画", 56 "2chse":"2ch証券取引所", 57 "dataroom":"資料室", 58 "vote":"投票所", 59 "operate":"運用情報", 60 "operatex":"運用情報(超臨時)", 61 "sec2ch":"規制情報", 62 "sec2chd":"規制議論", 63 "saku2ch":"削除要請", 64 "saku":"削除整理", 65 "sakud":"削除議論", 66 "sakukb":"削除知恵袋", 67 "intro":"自己紹介", 68 "honobono":"ほのぼの", 69 "yume":"夢・独り言", 70 "offmatrix":"大規模OFF", 71 "offreg":"定期OFF", 72 "offevent":"突発OFF", 73 "aasaloon":"AAサロン", 74 "mona":"モナー", 75 "nida":"ニダー", 76 "aastory":"AA長編", 77 "kao":"顔文字", 78 "mass":"マスコミ", 79 "youth":"少年犯罪", 80 "disaster":"自然災害", 81 "gender":"男性論女性論", 82 "giin":"議員・選挙", 83 "police":"警察", 84 "court":"裁判・司法", 85 "soc":"社会・世評", 86 "atom":"環境・電力", 87 "river":"河川・ダム等", 88 "traf":"運輸・交通", 89 "recruit":"就職", 90 "job":"転職", 91 "volunteer":"ボランティア", 92 "welfare":"介護・福祉", 93 "mayor":"地方自治知事", 94 "jsdf":"自衛隊", 95 "nenga":"郵便・郵政", 96 "lifework":"生涯学習", 97 "regulate":"通信行政", 98 "venture":"起業・ベンチャー", 99 "manage":"経営学", 100 "management":"店舗運営", 101 "estate":"賃貸分譲不動産", 102 "koumu":"公務員", 103 "shikaku":"法律勉強相談", 104 "lic":"資格全般", 105 "haken":"派遣業界", 106 "hoken":"保険業界", 107 "tax":"税金経理会計", 108 "exam":"会計全般試験", 109 "hosp":"病院・医者", 110 "bio":"医療業界", 111 "hikari":"光通信", 112 "dtp":"DTP・印刷", 113 "part":"アルバイト", 114 "koukoku":"広告業界", 115 "agri":"農林水産業", 116 "build":"建設・住宅業界", 117 "peko":"食品業界・問題", 118 "company":"ちくり裏事情", 119 "bouhan":"防犯・詐欺対策", 120 "antispam":"架空請求・スパム対策", 121 "ihou":"薬・違法", 122 "ihan":"違反の潰し方", 123 "expo":"万博・地方博", 124 "subcal":"サブカル", 125 "bun":"創作文芸", 126 "poem":"詩・ポエム", 127 "movie":"映画一般・8mm", 128 "cinema":"映画作品・映画人", 129 "rmovie":"懐かし邦画", 130 "kinema":"懐かし洋画", 131 "occult":"オカルト", 132 "sfx":"特撮!", 133 "rsfx":"昭和特撮", 134 "drama":"演劇・舞台役者", 135 "siki":"宝塚・四季", 136 "fortune":"占い", 137 "uranai":"占術理論実践", 138 "kyoto":"神社仏閣", 139 "gallery":"美術鑑賞", 140 "rakugo":"伝統芸能", 141 "ruins":"世界遺産", 142 "rikei":"理系全般", 143 "sci":"物理", 144 "life":"生物", 145 "bake":"化学", 146 "kikai":"機械・工学", 147 "denki":"電気・電子", 148 "robot":"ロボットテクノロジー", 149 "infosys":"情報システム", 150 "informatics":"情報学", 151 "sim":"シミュレーション", 152 "nougaku":"農学", 153 "sky":"天文・気象", 154 "doctor":"医歯薬看護", 155 "kampo":"東洋医学", 156 "math":"数学", 157 "doboku":"土木・建築", 158 "material":"材料物性", 159 "space":"航空・船舶", 160 "future":"未来技術", 161 "wild":"昆虫・野生動物", 162 "earth":"地球科学", 163 "psycho":"心理学", 164 "gengo":"言語学", 165 "pedagogy":"教育学", 166 "sociology":"社会学", 167 "economics":"経済学", 168 "book":"文学", 169 "poetics":"詩文学", 170 "history":"日本史", 171 "history2":"日本近代史", 172 "whis":"世界史", 173 "archeology":"考古学", 174 "min":"民俗・神話学", 175 "kobun":"古文・漢文・漢字", 176 "english":"English", 177 "korea":"ハングル", 178 "china":"中国", 179 "taiwan":"台湾", 180 "geo":"地理・人類学", 181 "chiri":"地理お国自慢", 182 "gogaku":"外国語", 183 "art":"芸術デザイン", 184 "philo":"哲学", 185 "jurisp":"法学", 186 "shihou":"司法試験", 187 "kaden":"家電製品", 188 "wm":"ポータブルオーディオ", 189 "vcamera":"ビデオカメラ", 190 "bakery":"調理家電", 191 "toilet":"シャワートイレ・トイレ", 192 "sony":"ソニー", 193 "phs":"携帯・PHS", 194 "keitai":"携帯機種", 195 "chakumelo":"携帯コンテンツ", 196 "appli":"携帯電話ゲーム", 197 "dgoods":"デジタルモノ", 198 "camera":"カメラ", 199 "dcamera":"デジカメ", 200 "av":"AV機器", 201 "pav":"ピュアオーディオ", 202 "seiji":"政治", 203 "diplomacy":"外交政策", 204 "trafficpolicy":"交通政策", 205 "eco":"経済", 206 "stock":"株式", 207 "stockb":"株個別銘柄", 208 "market":"投資一般", 209 "livemarket1":"市況1", 210 "livemarket2":"市況2", 211 "deal":"先物", 212 "koumei":"創価・公明", 213 "kyousan":"共産党", 214 "sisou":"政治思想", 215 "kova":"ゴーマニズム宣言", 216 "money":"金融", 217 "food":"食べ物", 218 "candy":"お菓子・甘味", 219 "juice":"ソフトドリンク", 220 "pot":"お茶・珈琲", 221 "cook":"料理", 222 "salt":"調味料", 223 "ramen":"ラーメン", 224 "nissin":"インスタント麺", 225 "jnoodle":"そば・うどん", 226 "sushi":"おすし", 227 "don":"丼(重禁止)", 228 "curry":"カレー", 229 "bread":"パン", 230 "pasta":"パスタ・ピザ", 231 "kbbq":"焼肉", 232 "konamono":"たこ焼き等", 233 "toba":"珍味", 234 "gurume":"グルメ外食", 235 "famires":"ファミレス", 236 "jfoods":"B級グルメ", 237 "bento":"弁当・駅弁", 238 "sake":"お酒・Bar", 239 "wine":"ワイン", 240 "drunk":"居酒屋", 241 "recipe":"レシピ", 242 "patissier":"製菓・製パン", 243 "supplement":"健康食品・サプリメント", 244 "lifesaloon":"生活サロン", 245 "kankon":"生活全般", 246 "okiraku":"その日暮らし", 247 "homealone":"一人暮らし", 248 "countrylife":"田舎暮らし", 249 "debt":"借金生活", 250 "inpatient":"入院生活", 251 "sportsclub":"スポーツクラブ", 252 "bath":"お風呂・銭湯", 253 "anniversary":"記念日", 254 "sousai":"冠婚葬祭", 255 "baby":"育児", 256 "kagu":"家具・インテリア", 257 "diy":"DIY", 258 "shop":"通販・買い物", 259 "trend":"流行", 260 "ticketplus":"Walker+", 261 "model":"モデル", 262 "fashion":"ファッション", 263 "shoes":"靴", 264 "female":"化粧", 265 "diet":"美容", 266 "seikei":"美容整形", 267 "shapeup":"ダイエット", 268 "world":"一般海外生活", 269 "northa":"北米海外生活", 270 "credit":"クレジット", 271 "point":"ポイント・マイル", 272 "cafe30":"30代", 273 "cafe40":"40代", 274 "cafe50":"50代以上", 275 "live":"家庭", 276 "souji":"掃除全般", 277 "goki":"ゴキ(生物被害対策本部)", 278 "kechi2":"ドケチ", 279 "chance":"懸賞・プレゼント", 280 "cigaret":"たばこ", 281 "megane":"めがね・コンタクト", 282 "yuusen":"電話会社", 283 "conv":"コンビニ", 284 "sale":"バーゲンセール", 285 "stationery":"文房具", 286 "class":"習い事", 287 "shar":"新シャア専用", 288 "x3":"旧シャア専用", 289 "denpa":"電波・お花畑", 290 "owarai":"お笑い小咄", 291 "2chbook":"同人ノウハウ", 292 "uwasa":"噂話", 293 "charaneta":"キャラネタ", 294 "charaneta2":"なりきりネタ", 295 "mascot":"マスコットキャラクター", 296 "lovesaloon":"恋愛サロン", 297 "ex":"カップル", 298 "x1":"×1", 299 "gaysaloon":"同性愛サロン", 300 "nohodame":"のほほんダメ", 301 "dame":"無職・だめ", 302 "loser":"負け組", 303 "hikky":"引きこもり", 304 "mental":"メンヘルサロン", 305 "single":"独身貴族", 306 "wom":"女性", 307 "sfe":"独身女性限定", 308 "wmotenai":"もてない女", 309 "ms":"既婚女性", 310 "male":"独身男性", 311 "motetai":"もてたい男", 312 "motenai":"モテない男性", 313 "alone":"孤独な男性", 314 "tomorrow":"既婚男性", 315 "employee":"リーマン", 316 "campus":"大学生活", 317 "student":"大学学部・研究", 318 "otaku":"おたく", 319 "nendai":"年代別", 320 "sepia":"セピア", 321 "gag":"駄洒落", 322 "575":"しりとり", 323 "tanka":"五七五・短歌", 324 "4649":"アウトロー", 325 "livesaturn":"なんでも実況S", 326 "livevenus":"なんでも実況VIP", 327 "livejupiter":"なんでも実況J", 328 "liveuranus":"なんでも実況U", 329 "endless":"実況ch", 330 "weekly":"番組ch", 331 "livewkwest":"番組ch(西日本)", 332 "livenhk":"番組ch(NHK)", 333 "liveetv":"番組ch(NHK教育)", 334 "liventv":"番組ch(NTV)", 335 "livetbs":"番組ch(TBS)", 336 "livecx":"番組ch(フジ)", 337 "liveanb":"番組ch(テレビ朝日)", 338 "livetx":"番組ch(TV東京)", 339 "livebs":"BS実況ch(NHK)", 340 "livewowow":"BS実況ch(民放)", 341 "liveskyp":"スカパー実況", 342 "liveradio":"ラジオ実況", 343 "dome":"スポーツch", 344 "livebase":"野球ch", 345 "livefoot":"サッカーch", 346 "oonna":"オリンピック実況(女)", 347 "ootoko":"五輪実況(男)", 348 "dancesite":"芸能ch", 349 "festival":"お祭り会場", 350 "edu":"教育・先生", 351 "jsaloon":"大学受験サロン", 352 "kouri":"大学受験", 353 "juku":"学習塾・予備校", 354 "ojyuken":"お受験", 355 "senmon":"専門学校", 356 "design":"美術・デザイン学校", 357 "musicology":"音楽系学校", 358 "govexam":"公務員試験", 359 "hobby":"趣味一般", 360 "magic":"手品・曲芸", 361 "card":"トランプ", 362 "puzzle":"パズル", 363 "craft":"手芸・ハンドクラフト", 364 "toy":"おもちゃ", 365 "zoid":"ゾイド", 366 "smoking":"煙草銘柄・器具", 367 "knife":"刃物", 368 "doll":"お人形", 369 "engei":"園芸", 370 "dog":"犬猫大好き", 371 "pet":"ペット大好き", 372 "aquarium":"アクアリウム", 373 "goldenfish":"日本の淡水魚", 374 "insect":"昆虫", 375 "cat":"生き物苦手", 376 "bike":"バイク", 377 "car":"自動車", 378 "kcar":"軽自動車", 379 "auto":"車種・車メーカー", 380 "usedcar":"中古車", 381 "truck":"大型車・特殊車両", 382 "army":"軍事", 383 "radio":"無線", 384 "train":"鉄道総合", 385 "rail":"鉄道路線・車両", 386 "ice":"鉄道(海外)", 387 "gage":"鉄道模型", 388 "bus":"バス・バス路線", 389 "airline":"エアライン", 390 "mokei":"模型・プラモ", 391 "radiocontrol":"RC(ラジコン)", 392 "gun":"サバイバルゲーム", 393 "fireworks":"花火", 394 "warhis":"三国志・戦国", 395 "chinahero":"中国英雄", 396 "sengoku":"戦国時代", 397 "nanminhis":"歴史難民", 398 "dance":"ダンス", 399 "bird":"野鳥観察", 400 "collect":"コレクション", 401 "photo":"写真撮影", 402 "sposaloon":"スポーツサロン", 403 "sports":"スポーツ", 404 "rsports":"なつかしスポーツ", 405 "stadium":"競技場・スポーツ施設", 406 "athletics":"陸上競技", 407 "gymnastics":"体操・新体操", 408 "muscle":"ウエイトトレーニング", 409 "noroma":"運動音痴", 410 "wsports":"冬スポーツ", 411 "ski":"スキー・スノボ", 412 "skate":"スケート", 413 "swim":"水泳(競泳・演技)", 414 "msports":"マリンスポーツ", 415 "boat":"船スポーツ", 416 "birdman":"空スポーツ", 417 "fish":"釣り", 418 "bass":"バス釣り", 419 "bicycle":"自転車", 420 "equestrian":"乗馬・馬術", 421 "f1":"F1・モータースポーツ", 422 "olympic":"オリンピック", 423 "bullseye":"的スポーツ", 424 "parksports":"公園スポーツ", 425 "amespo":"アメスポ", 426 "cheerleading":"チアリーディング", 427 "xsports":"X-Sports", 428 "base":"プロ野球", 429 "npb":"球界改革議論", 430 "meikyu":"野球殿堂", 431 "mlb":"野球総合", 432 "hsb":"高校野球", 433 "kyozin":"アンチ球団", 434 "soccer":"国内サッカー", 435 "eleven":"日本代表サッカー", 436 "wc":"ワールドカップ", 437 "football":"海外サッカー", 438 "basket":"バスケット", 439 "tennis":"テニス", 440 "volley":"バレーボール", 441 "ovalball":"ラグビー", 442 "pingpong":"卓球", 443 "gutter":"ボウリング", 444 "golf":"ゴルフ", 445 "billiards":"ビリヤード", 446 "k1":"格闘技", 447 "wres":"プロレス", 448 "budou":"武道・武芸", 449 "boxing":"ボクシング", 450 "sumou":"相撲", 451 "jyudo":"伝統武術", 452 "oversea":"海外旅行", 453 "21oversea":"危ない海外", 454 "travel":"国内旅行", 455 "hotel":"ホテル・旅館", 456 "localfoods":"みやげ物・特産物", 457 "tropical":"トロピカル", 458 "onsen":"温泉", 459 "park":"遊園地", 460 "zoo":"動物園・水族館・植物園等", 461 "museum":"博物館・美術館・記念館等", 462 "out":"登山キャンプ", 463 "tvsaloon":"テレビサロン", 464 "kouhaku":"年末年始番組", 465 "tv":"テレビ番組", 466 "natsutv":"懐かしテレビ", 467 "tvd":"テレビドラマ", 468 "nhkdrama":"大河ドラマ", 469 "natsudora":"懐かしドラマ", 470 "kin":"時代劇", 471 "am":"ラジオ番組", 472 "rradio":"懐かしラジオ", 473 "tv2":"海外テレビ", 474 "cs":"ケーブルTV", 475 "skyp":"スカパー", 476 "bs":"BS・地上波デジタル", 477 "nhk":"NHK", 478 "cm":"広告・CM", 479 "geino":"芸能", 480 "celebrity":"海外芸能人", 481 "kyon2":"懐かしアイドル/芸能人", 482 "actor":"男性俳優", 483 "actress":"女優", 484 "geinoj":"ジュニアアイドル・子役", 485 "geinin":"お笑い芸人", 486 "ana":"アナウンサー", 487 "ami":"あみ&あゆ", 488 "apple":"椎名林檎", 489 "ainotane":"モ娘(羊)", 490 "zurui":"モ娘(鳩)", 491 "mendol":"男性アイドル", 492 "idol":"女性アイドル", 493 "jan":"ジャニーズ", 494 "smap":"スマップ", 495 "jr":"ジャニーズ2", 496 "jr2":"ジャニーズJr", 497 "mj":"麻雀・他", 498 "pachi":"パチンコサロン", 499 "pachij":"パチンコ店情報", 500 "pachik":"パチンコ機種・メーカー", 501 "slot":"スロットサロン", 502 "slotj":"スロット店情報", 503 "slotk":"スロット機種", 504 "keiba":"競馬", 505 "uma":"競馬2", 506 "keirin":"競輪", 507 "kyotei":"競艇", 508 "autorace":"オートレース", 509 "gamble":"ギャンブル", 510 "loto":"宝くじ", 511 "gsaloon":"ゲームサロン", 512 "gameover":"家庭用ゲーム攻略", 513 "goveract":"家ゲーアクション攻略", 514 "goverrpg":"家ゲーRPG攻略", 515 "gamerpg":"家ゲーRPG", 516 "ff":"FF・ドラクエ", 517 "gamesrpg":"家ゲーSRPG", 518 "gamerobo":"ロボットゲー", 519 "gal":"ギャルゲー", 520 "gboy":"女向ゲーム大人", 521 "ggirl":"女向ゲーム一般", 522 "gamespo":"スポーツゲーム・レースゲーム", 523 "gamehis":"歴史ゲーム", 524 "otoge":"音ゲー", 525 "gamefight":"格闘ゲーム", 526 "gamestg":"シューティング", 527 "gamef":"PCアクション", 528 "fly":"フライトシム", 529 "famicom":"家庭用ゲーム", 530 "retro":"レトロゲーム", 531 "retro2":"家庭用レトロゲーム", 532 "game90":"90年代家ゲー", 533 "arc":"アーケード", 534 "amusement":"メダル・プライズ・エレメカ・アミューズメント", 535 "gecen":"ゲーセン", 536 "game":"PCゲーム", 537 "gameama":"同人ゲーム", 538 "gameswf":"ブラウザゲーム", 539 "cgame":"卓上ゲーム", 540 "tcg":"TCG", 541 "bgame":"将棋・チェス", 542 "gamestones":"囲碁・オセロ", 543 "quiz":"クイズ雑学", 544 "ghard":"ハード・業界", 545 "gameurawaza":"裏技・改造", 546 "gamechara":"ゲームキャラ", 547 "gamemusic":"ゲーム音楽", 548 "handygame":"携帯ゲームソフト", 549 "handygover":"携帯ゲーム攻略", 550 "handygrpg":"携帯ゲームRPG", 551 "poke":"ポケモン", 552 "wifi":"Wi-Fiコネクション", 553 "rhandyg":"携帯ゲームレトロ", 554 "pokechara":"携帯ゲームキャラクター", 555 "mmonews":"ネトゲ速報", 556 "mmoqa":"ネトゲ質問", 557 "ogame":"ネトゲ実況", 558 "ogame2":"ネトゲ実況2", 559 "ogame3":"ネトゲ実況3", 560 "mmosaloon":"ネトゲサロン", 561 "netgame":"ネットゲーム", 562 "mmo":"大規模MMO", 563 "mmominor":"小規模MMO", 564 "asaloon":"アニメサロン", 565 "anime4vip":"アニメサロンex", 566 "anime":"アニメ", 567 "anime2":"アニメ2", 568 "anime3":"アニメ新作情報", 569 "ranime":"懐かしアニメ昭和", 570 "ranimeh":"懐かしアニメ平成", 571 "animovie":"アニメ映画", 572 "anichara":"アニキャラ総合", 573 "anichara2":"アニキャラ個別", 574 "cosp":"コスプレ", 575 "voice":"声優総合", 576 "voiceactor":"声優個人", 577 "doujin":"同人", 578 "comiket":"同人イベント", 579 "csaloon":"漫画サロン", 580 "comic":"漫画", 581 "rcomic":"懐かし漫画", 582 "ymag":"少年漫画", 583 "wcomic":"週刊少年漫画", 584 "gcomic":"少女漫画", 585 "4koma":"4コマ漫画", 586 "cchara":"漫画キャラ", 587 "sakura":"CCさくら", 588 "eva":"エヴァンゲリオン", 589 "cartoon":"海外アニメ漫画", 590 "iga":"アニメ・漫画業界", 591 "bookall":"文芸・書籍サロン", 592 "magazin":"ライトノベル", 593 "mystery":"ミステリー", 594 "sf":"SF・Fantasy・ホラー", 595 "zassi":"雑誌", 596 "books":"一般書籍", 597 "ehon":"絵本", 598 "juvenile":"児童書", 599 "illustrator":"イラストレーター", 600 "msaloon":"音楽サロン", 601 "mjsaloon":"邦楽サロン", 602 "musicj":"邦楽", 603 "musicjm":"邦楽男性ソロ", 604 "musicjf":"邦楽女性ソロ", 605 "musicjg":"邦楽グループ", 606 "natsumeloj":"懐メロ邦楽", 607 "enka":"演歌", 608 "mesaloon":"洋楽サロン", 609 "musice":"洋楽", 610 "natsumeloe":"懐メロ洋楽", 611 "music":"音楽一般", 612 "beatles":"ビートルズ", 613 "visual":"ヴィジュアルサロン", 614 "visualb":"ヴィジュアルバンド", 615 "dj":"DJ・クラブ", 616 "disco":"ディスコ", 617 "randb":"R&B・SOUL", 618 "punk":"パンク", 619 "hrhm":"HR・HM", 620 "hiphop":"HIPHOP", 621 "techno":"TECHNO", 622 "progre":"プログレ", 623 "healmusic":"ヒーリング音楽", 624 "wmusic":"ワールド音楽", 625 "classic":"ジャズ", 626 "fusion":"フュージョン", 627 "classical":"クラシック", 628 "contemporary":"現代音楽", 629 "nika":"エレクトロニカ、ポストロック、音響系", 630 "suisou":"吹奏楽", 631 "chorus":"合唱", 632 "doyo":"童謡・唱歌", 633 "asong":"アニソン等", 634 "soundtrack":"サントラ", 635 "karaok":"カラオケ", 636 "legend":"伝説の", 637 "minor":"インディーズ", 638 "band":"バンド", 639 "compose":"楽器・作曲", 640 "piano":"鍵盤楽器", 641 "healing":"癒し", 642 "jinsei":"人生相談", 643 "psy":"心と宗教", 644 "body":"身体・健康", 645 "handicap":"ハンディキャップ", 646 "infection":"新型感染症", 647 "hiv":"HIVサロン", 648 "atopi":"アトピー", 649 "allergy":"花粉症・アレルギー", 650 "hage":"ハゲ・ズラ", 651 "pure":"純情恋愛", 652 "furin":"不倫・浮気", 653 "gay":"同性愛", 654 "utu":"メンタルヘルス", 655 "break":"失恋", 656 "pc2nanmin":"PCサロン", 657 "win":"Windows", 658 "jobs":"旧・mac", 659 "mac":"新・mac", 660 "os":"OS", 661 "desktop":"デスクトップ", 662 "pc":"パソコン一般", 663 "notepc":"ノートPC", 664 "jisaku":"自作PC", 665 "printer":"プリンタ,スキャナー", 666 "hard":"ハードウェア", 667 "cdr":"CD-R,DVD", 668 "software":"ソフトウェア", 669 "mobile":"モバイル", 670 "bsoft":"ビジネスsoft", 671 "unix":"UNIX", 672 "db":"データベース", 673 "linux":"Linux", 674 "prog":"プログラマー", 675 "tech":"プログラム技術", 676 "cg":"CG", 677 "dtm":"DTM", 678 "avi":"映像制作", 679 "swf":"FLASH・動画", 680 "gamedev":"ゲーム製作技術", 681 "i4004":"昔のPC", 682 "internet":"インターネット", 683 "download":"ダウンロードソフト", 684 "hp":"Web制作管理", 685 "affiliate":"Web収入", 686 "hosting":"レンタルサーバ", 687 "mysv":"自宅サーバ", 688 "php":"Webプログラミング", 689 "hack":"ネットワーク", 690 "sec":"セキュリティ", 691 "network":"通信技術", 692 "friend":"ポストペット・IRC", 693 "isp":"プロバイダー", 694 "netspot":"ネットカフェ・漫画喫茶・無線LANスポット", 695 "nifty":"Nifty", 696 "mmag":"メルマガ", 697 "nanmin":"難民", 698 "ad":"宣伝掲示板", 699 "esite":"ネットサービス", 700 "streaming":"YouTube", 701 "mdis":"音楽配信", 702 "blog":"ブログ", 703 "sns":"ソーシャルネットワーク", 704 "net":"ネットウォッチ", 705 "yahoo":"オークション", 706 "nntp":"nntp", 707 "bobby":"おいらロビー", 708 "lobby":"ロビー", 709 "maru":"●", 710 "mog2":"なんでもあり", 711 "mukashi":"昔", 712 "kitchen":"厨房!", 713 "tubo":"最悪", 714 "joke":"学歴", 715 "shugi":"主義・主張", 716 "rights":"人権問題", 717 "accuse":"批判要望", 718 "morningcoffee":"モ娘(狼)", 719 "ranking":"格付け", 720 "siberia":"シベリア超速報", 721 "news4vip":"ニュース速報(VIP)", 722 "heaven4vip":"天国", 723 "neet4vip":"ニー速", 724 "hnews":"ピンクニュース", 725 "pinkqa":"pink初心者", 726 "sureh":"大人のスレH・エロ会話板", 727 "erolive":"大人の実況", 728 "hneta":"えっちねた", 729 "pinkcafe":"PINKのおいらロビー", 730 "eromog2":"PINKのなんでもあり", 731 "ogefin":"お下品", 732 "pinknanmin":"ぴんく難民", 733 "erobbs":"pink秘密基地", 734 "housekeeping":"PINK削除依頼", 735 "21oversea2":"大人の危ない海外", 736 "hgame":"エロゲー", 737 "hgame2":"エロゲー(作品別)", 738 "erog":"エロゲネタ", 739 "leaf":"Leaf・key", 740 "adultsite":"アダルトサイト", 741 "webmaster":"ウェブマスター", 742 "avideo":"AV総合", 743 "avideo2":"AV女優", 744 "nude":"ヌード・エロ本", 745 "eroanime":"エロアニメ等", 746 "erocomic":"エロ漫画小説", 747 "erodoujin":"エロ同人", 748 "natuero":"懐かしエロ", 749 "kgirls":"韓国美人", 750 "erocosp":"エロコスプレ", 751 "eroacademy":"PINKな学問", 752 "mcheck":"大人の健康相談", 753 "couple":"夫婦生活", 754 "kageki":"過激な恋愛", 755 "kageki2":"大人の過激な恋愛", 756 "onatech":"オナテク", 757 "loveho":"ラブホテル・モーテル", 758 "adultgoods":"アダルトグッズ", 759 "adultaccessory":"大人の飾り", 760 "sm":"SM", 761 "feti":"フェチ", 762 "mature":"熟女", 763 "okama":"おかま・おなべ", 764 "gaypink":"大人の同性愛", 765 "lesbian":"レズ・百合萌え", 766 "eroaa":"エロAA", 767 "erochara":"キャラサロン", 768 "erochara2":"オリキャラなりきり", 769 "801":"801", 770 "erocg":"お絵描き・創作", 771 "eroparo":"エロパロ", 772 "ascii":"半角文字列", 773 "ascii2d":"半角二次元", 774 "ascii2kana":"半角かな", 775 "girls":"アイドル画像", 776 "sportgirls":"スポーツ画像", 777 "club":"風俗全般", 778 "pub":"お水・出会い系", 779 "host":"ホストクラブ", 780 "nuki":"へるす", 781 "soap":"ソープ", 782 "neet4pink":"ニー速(pink)", 783 "cherryboy":"童貞", 784 "megami":"女神", 785 "tawara":"会議室", 786 "hokkaidou":"北海道", 787 "touhoku":"東北", 788 "kousinetu":"北陸・甲信越", 789 "kanto":"関東", 790 "tokyo":"東京", 791 "tama":"多摩", 792 "kana":"神奈川", 793 "toukai":"東海", 794 "kinki":"近畿", 795 "osaka":"大阪", 796 "cyugoku":"中国", 797 "sikoku":"四国", 798 "kyusyu":"九州", 799 "okinawa":"沖縄" 800 } 801 802 /** スキン側で独自に履歴を管理します。 803 * @static 804 */ 805 var HistoryManager = { 806 /** 履歴のデータ 807 * @type Array 808 * @example 809 * [ 810 * ["http://pc11.2ch.net/test/read.cgi/software/1188656807/", "bbs2chreader Part12"], 811 * ["http://pc11.2ch.net/test/read.cgi/tech/1164625238/", "Mozillaでプログラミング(XUL) その3"], 812 * ["http://ex21.2ch.net/test/read.cgi/f1/1181576414/", "アレックス・ヴルツ"] 813 * ] 814 */ 815 items: [], 816 /** 履歴の最大保存件数 817 * @type Number 818 */ 819 maxCount: 0, 820 /** 履歴のデータを読み込み、現在開いているスレッドのデータを追加して保存します。*/ 821 initialise: function() { 822 this.load(); 823 this.maxCount = SkinPref.getInt("valueHistoryItemCounts", 32); 824 this.add(EXACT_URL, ThreadDocument.title); 825 this.save(); 826 }, 827 /** globalStorage から履歴のデータを読み込み eval() で評価します。結果は自動的に items プロパティに格納されます。*/ 828 load: function() { 829 this.items = eval(SkinPref.getStr("valueHistoryManager","([])")); 830 }, 831 /** eval() で評価するのに都合の悪い文字をエスケープします。 832 * @param {String} e 文字列 833 * @return {String} エスケープされた文字列 834 */ 835 escape: function(e) { 836 return e.replace(/([\\"'])/g,"\\$1") 837 }, 838 /** globalStorage に履歴のデータを eval() で評価できる形で保存します。*/ 839 save: function() { 840 var arrayTemp=[]; 841 for (var i = 0; i < this.items.length; i++) { 842 843 arrayTemp.push('["' + this.escape(this.items[i][0]) + '","' + this.escape(this.items[i][1]) + '"]'); 844 } 845 SkinPref.setStr("valueHistoryManager", "([" + arrayTemp.join(",") + "])") 846 }, 847 /** 履歴を追加します。保存件数を超えたものは古いものから削除されます。 848 * @param {String} url URI 849 * @param {String} title スレッドタイトル 850 */ 851 add: function(url, title) { 852 for (var i = 0; i < this.items.length; i++) { 853 if (this.items[i][0] == url) { 854 this.items.push(this.items[i]); 855 this.items.splice(i,1); 856 return; 857 } 858 } 859 if (this.items.length >= this.maxCount) this.items.shift(); 860 this.items.push([url, title]); 861 }, 862 /** globalStorage から履歴のデータを削除します。*/ 863 clear: function() { 864 SkinPref.remove("valueHistoryManager"); 865 }, 866 /** 履歴のデータから、指定されたインデックスの URI を取得します。 867 * @param {Number} index インデックス 868 * @return {String} URI 869 */ 870 getUrl: function(index) { 871 return this.items[index][0]; 872 }, 873 /** 履歴のデータから、指定されたインデックスのスレッドタイトルを取得します。 874 * @param {Number} index インデックス 875 * @return {String} スレッドタイトル 876 */ 877 getThreadTitle: function(index) { 878 return this.items[index][1]; 879 }, 880 /** 履歴のデータから、指定されたインデックスの板の名称を取得します。 881 * @param {Number} index インデックス 882 * @return {String} 板の名前 883 */ 884 getBoardName: function(index) { 885 var array = this.items[index][0].split("/"); 886 for (var i = 0; i < array.length; i++) if (array[i] == "read.cgi") break; 887 return boardTable[array[i+1]] ? boardTable[array[i+1]] : array[i+1]; 888 }, 889 /** 履歴のデータから、指定されたインデックスの板の URI を bbs2chreader 形式で取得します。 890 * @param {Number} index インデックス 891 * @return {String} URI 892 */ 893 getBoardUrl: function(index) { 894 return this.items[index][0].replace(/(.*)test\/read\.cgi\/(.*?)\/.*/,"bbs2ch:board:$1$2/"); 895 }, 896 getContextMenuItems: function() { 897 898 } 899 }