2011-04-02

play on tumblr 動いてる?

via http://coderepos.org/share/browser/lang/javascript/userscripts/playontumblr.user.js?rev=38679 | text post image open : http://gyazo.com/0722c749cb50c704d4e9923bdd6b6fce.png -> http://gyazo.com/e8f082af69a038e0ea58775c2cec7ad5.png — Gist

最新はこれでいいんですか?

誰も話題にしてないので俺だけかな

reblogcount しか動いてなかったので自力で直そうと頑張ってみたが、

よくわからないのでぐっちゃぐちゃになってしまった

プログラミング素人ですすみません

一応動画再生画像の拡大2種の3つに関しては動くようにできた

likeは使ってないのでとくに見てませんすみません

ここがわからない
if (img[n].style.display != 'none') {
  click($X('./a', img[n])[0]);
  return stdin;
}
else{
  click($X('./preceding-sibling::a[1]', img[n])[0]);
  return stdin;
}

および

if (mov[n].style.display != 'none') {
  click($X('.//a', mov[n])[0]);
  return stdin;
}

これは何をしてるんでしょうか?

したままだとどうもうまくいかなかったので丸ごと削ってしまった

クリックすべき要素を直接XPath指定、にしたんだけどマズイ?

以下patchです

@include に www.tumblr.com/queue* も勝手に足してしまいました

どなたかまともにしてくださいm(__)m

--- 20101127_play_on_tumblr.user.js
+++ 20110402_play_on_tumblr.user.js
@@ -6,6 +6,7 @@
 // @include        http://www.tumblr.com/show/*
 // @include        http://www.tumblr.com/tumblelog/*
 // @include        http://www.tumblr.com/tagged/*
+// @include        http://www.tumblr.com/queue*
 // ==/UserScript==
 
 (function() {
@@ -43,25 +44,15 @@
         command: function(stdin) {
           try {
             if (!stdin.length) stdin = execute('current-node');
-            var img = $X('.//div[starts-with(@id, "highres_photo")]', stdin[0]);
+            var img = $X('.//img[contains(@id, "thumbnail_photo_")]', stdin[0]);
             for (var n = 0; n < img.length; n++) {
-              if (img[n].style.display != 'none') {
-                click($X('./a', img[n])[0]);
-                return stdin;
+                click(img[n]);
               }
-              else{
-                click($X('./preceding-sibling::a[1]', img[n])[0]);
-                return stdin;
-              }
-            }
-            var mov = $X('.//div[contains(@id,"watch_") and .//a]', stdin[0]);
+            var mov = $X('.//img[contains(@id,"video_thumbnail_")]', stdin[0]);
             for (var n = 0; n < mov.length; n++) {
-              if (mov[n].style.display != 'none') {
-                click($X('.//a', mov[n])[0]);
-                return stdin;
+                click(mov[n]);
               }
-            }
-            var timg = $X('.//img[contains(@src,"tumblr.com/tumblr_")]|.//img[@class="inline_external_image"]', stdin[0]);
+            var timg = $X('.//img[contains(@class, "inline_external_image")]', stdin[0]);
             for (var n = 0; n < timg.length; n++) {
               click(timg[n]);
             }

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん