Changeset 18157
- Timestamp:
- 08/24/08 04:14:14 (5 years ago)
- Location:
- websites/twicli
- Files:
-
- 2 modified
-
index.html (modified) (1 diff)
-
twicli.html (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
websites/twicli/index.html
r18128 r18157 53 53 <li>タブ 54 54 <ul> 55 <li>TL: タイムライン、reply: 自分宛の返信を表示、ユーザ名: ユーザ情報、direct: ダイレクトメッセージ (未実装)を表示します。55 <li>TL: タイムライン、reply: 自分宛の返信を表示、ユーザ名: ユーザ情報、direct: ダイレクトメッセージを表示します。 56 56 <li>TL以外は自動でアップデートされません。更新するには再度タブをクリックしてください。 57 57 <li>他のタブに切り替えている間もTLは更新されていきます。 -
websites/twicli/twicli.html
r18153 r18157 74 74 var direct_ele1 = false; 75 75 var direct_ele2 = false; 76 var direct1 = false; 77 var direct2 = false; 76 78 var reply_ele = false; 77 79 var rep_top = 0; … … 175 177 $('rep').style.display='none'; 176 178 } 177 // 最新 twitを取得179 // 最新タイムラインを取得 178 180 function update() { 179 181 update_ele = loadXDomainScript('http://twitter.com/statuses/friends_timeline?seq=' + (seq++) + … … 192 194 (tw.user.url ? '<a target="twitter" href="'+tw.user.url+'">' : '') + 193 195 '<img align="left" width="24" height="24" src="' + tw.user.profile_image_url + '">' + (tw.user.url ? '</a>' : '') + 196 /*ダイレクトメッセージの方向*/ (tw.d_dir == 1 ? '<b>←</b> ' : tw.d_dir == 2 ? '<b>→</b> ' : '') + 194 197 //名前 195 198 "<a href=\"javascript:switchUser('" + tw.user.screen_name + "')\">" + tw.user.screen_name + … … 200 203 " <span onClick=\"replyTo('" + tw.user.screen_name + "'," + tw.id + ")\" class=\"status\">" + 201 204 //本文 (https〜をリンクに置換 + @をtwitter本家へのリンクに置換) 202 tw.text.replace(/(https?:\/\/[^ ]*)/g, " <a onClick=\"event.stopPropagation();\" target=\"_blank\" href=\"$1\">$1</a>")205 tw.text.replace(/(https?:\/\/[^ \n]+)/g, " <a onClick=\"event.stopPropagation();\" target=\"_blank\" href=\"$1\">$1</a>") 203 206 .replace(/@([0-9A-Za-z_\-]+)/g, "<a onClick=\"event.stopPropagation();\" " + 204 "href=\"javascript:switchUser('$1')\">@$1</a>") + '</span>' +207 "href=\"javascript:switchUser('$1')\">@$1</a>").replace(/\n/g, "<br>") + '</span>' + 205 208 //日付 206 209 '<span class="date">' + dateFmt(new Date(tw.created_at)) + '</span>' + … … 228 231 $("user").innerHTML = last_user; 229 232 } 233 // ダイレクトメッセージ一覧の受信 234 function twDirect1(tw) { 235 direct1 = tw; 236 if (direct2) 237 twDirectShow(); 238 } 239 function twDirect2(tw) { 240 direct2 = tw; 241 if (direct1) 242 twDirectShow(); 243 } 244 function twDirectShow() { 245 var direct = direct1.concat(direct2).sort(function(a,b){return b.id - a.id}); 246 direct = direct.map(function(d){ 247 if (d.recipient_screen_name == myname) { 248 d.user = d.sender; 249 d.d_dir = 1; 250 } else { 251 d.user = d.recipient; 252 d.d_dir = 2; 253 } 254 return d; 255 }); 256 twShow2(direct); 257 direct1 = direct2 = false; 258 } 230 259 // API制限情報の受信 231 260 function twLimit(lim) { 261 $("loading").style.display = "none"; 232 262 $("tw2c").innerHTML = "<b>Twitter API status:</b><br>" + 233 263 "hourly limit : " + lim.remaining_hits + " / " + lim.hourly_limit + "<br>" + … … 275 305 s.id = twNode.id + "-" + tw[i].id; 276 306 s.innerHTML = makeHTML(tw[i], no_name); 277 if (tw[i]. text.match('@'+myname+' '))307 if (tw[i].d_dir == 1 || tw[i].text.match('@'+myname+' ')) 278 308 s.className = "tome"; 279 if (tw[i]. user.screen_name == myname)309 if (tw[i].d_dir == 2 || tw[i].user.screen_name == myname) 280 310 s.className = "fromme"; 281 311 pNode.insertBefore(s, pNode.childNodes[0]); … … 327 357 function switchReply() { 328 358 switchTo("reply"); 359 $("loading").style.display = "block"; 329 360 update_ele2 = loadXDomainScript('http://twitter.com/statuses/replies.json?seq=' + (seq++) + 330 361 '&callback=twShow2', update_ele2); … … 336 367 switchTo("user"); 337 368 $("tw2h").innerHTML = "<div id=\"user_info\">loading ...</div>"; 369 $("loading").style.display = "block"; 338 370 update_ele2 = loadXDomainScript('http://twitter.com/statuses/user_timeline.json?seq=' + (seq++) + 339 371 '&id=' + user + '&callback=twShow2', update_ele2); … … 341 373 function switchDirect() { 342 374 switchTo("direct"); 375 $("loading").style.display = "block"; 343 376 direct_ele1 = loadXDomainScript('http://twitter.com/direct_messages.json?seq=' + (seq++) + 344 377 '&callback=twDirect1', direct_ele1); … … 350 383 $("tw2h").innerHTML = '<p><a target="twitter" href="index.html"><b>twicli</b></a> : browser-base Twitter client</p><hr>' + 351 384 '<p><form onSubmit="switchUser($(\'user_id\').value); return false;">show user info : @<input type="text" size="15" id="user_id"></form></p><hr>'; 385 $("loading").style.display = "block"; 352 386 update_ele2 = loadXDomainScript('http://twitter.com/account/rate_limit_status.json?seq=' + (seq++) + 353 387 '&id=' + user + '&callback=twLimit', update_ele2);
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)