いつもの誰得備忘録。
pixivは一部のページ*1を除き、ほぼ全てのページでjQuery(1.8.3)を読み込んでいる。
jQueryが読み込まれているページでは同時に
グローバル空間にpixivという名の連想配列(window.pixiv)がセットされており、
この中にUIを操作する為のメソッドと各種情報が色々詰まってる。
その内、メソッド(関数)以外で割と使えそうなのを一通りメモっとく。
(関数は数がハンパなく多く動作確認面倒なので気になるなら各自確認してくれ)
(私はROM専なので投稿周りはほとんど分からん。誰か情報プリーズ)
context
閲覧しているページの情報が格納されてる。
名前 | 型 | 説明 |
---|---|---|
illustTitle | 文字列 | 作品個別ページでのみ出現。 作品タイトル。 |
illustId | 文字列 | 作品個別ページのID。 URLのillust_id=横の数字と同じ。 illustIdという名だが小説でも値が入ってる。 |
novelId | 文字列 | 小説ページにのみ出現。 値はillustIdと同じ。 |
workId | 文字列 | 小説ページにのみ出現(?) 値はillustIdと同じ。 |
userId | 文字列 | 投稿者のID。 member.php?id=の数字。 |
userName | 文字列 | 作品個別ページ(ry 投稿者のユーザー名。 |
embedId | 文字列 | 作品個別(ry 作品埋め込み(貼り付け)コードのdata-id属性内の値 |
updated | 文字列 | 更新や再投稿があった場合にのみ出現(?) 更新日時のUnix時刻。 |
type | 文字列 | イラストや漫画ならillust、 小説ならnovel。 |
rated | 真偽値 | 評価すると点数に拘らずtrueになる。 手動でfalseにすると再び評価できるようになる。*2 |
self | 真偽値 | 不明。 おそらく投稿者が自分自身だった場合にtrue? |
favorite | 真偽値 | 投稿者をお気に入り(フォロー)しているとtrue? |
myPixiv | 真偽値 | 投稿者とマイピク関係にあるとtrue? |
queries | 連想配列 | 現在のURLパラメータの名と値がそのまま入ってる。 ( queries.illust_id: "0123456789" てな感じで)location.searchを分解する手間が省けて便利。 |
pages | 配列 | 漫画一覧ページでのみ出現。 ページ数が1つずつ数値で入ってる。 lengthで総ページ数を取得できるので便利。 |
images | 配列 | 漫画一覧(ry その漫画の全ページの画像URLが1つずつ文字列として入ってる。 言うまでもなく先頭は0。 |
thumbnailImages | 配列 | 漫画(ry ↑のサムネイルサイズが同じように入ってる。 |
rating
評価関係のメソッドが入ってる。
名前 | 型 | 説明 |
---|---|---|
rate | 数値 | 評価した点数が入る。 評価していない場合は0。 |
title
名前 | 型 | 説明 |
---|---|---|
original | 文字列 | 本来のページタイトル(生ソースのtitleタグの中身)が入ってる。*3 |
user
自身に関する情報が入ってる。
名前 | 型 | 説明 |
---|---|---|
loggedIn | 真偽値 | ログインしているとtrue。 尚、この値がfalse(ログインしてない)だと 以下のプロパティは全てundefined。 |
premium | 真偽値 | プレミアム会員ならtrue |
gender | 文字列 | 男:male 女:female |
id | 文字列 | 自身のユーザーID |
anonymousHash | 文字列 | 何かのハッシュっぽいが どこで使われているのかは不明。 |
unreadCount | 連想配列 | 未読のメッセージ&通知。 message(pixivメッセージ)とpopboard(通知)に それぞれ未読数が数値で入ってる。 |
例
例えば、以下のブックマークレットを作品個別ページで実行すると
上の表通りの情報が返ってくるはず。
(function(p){ alert( '作品名:' + p.context.illustTitle + '\n' + '投稿者:' + p.context.userName + '\n' + '\n' + '【未読】' + 'メッセージ⇒' + p.user.unreadCount.message + ' ' + '通知⇒' + p.user.unreadCount.popboard ); })(window.pixiv);
…まぁ、こんなところ。
主にブックマークレットやユーザースクリプトなんかで使えるかなと。
出来ればメソッドもまとめたいけど数がやばい。