twitter_jump_user Fork

  • // ==UserScript==
    // @title        twitter_jump_user
    // @name         twitter_jump_user
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://twitter.com/*
    // @grant        none
    // ==/UserScript==
    var result4 = document.evaluate('id("global-new-tweet-button")', document, null, 7, null);
    result4.snapshotItem(0).insertAdjacentHTML('afterend', '<input type="button" value="jump_user" id="jump">');
    var result5 = document.evaluate('id("jump")', document, null, 7, null);
    result5.snapshotItem(0).addEventListener('click', sample, false);
    
    function sample() {
      var sign = window.prompt("誰のツイートに飛びますか", "アカウント名の@以下を入力してください");
      var result = document.evaluate('//div[@class="stream-item-header"]/descendant::span[contains(@class,"username")][1]/b/text()', document, null, 7, null);
      var result2 = document.evaluate('//div[@class="stream-item-header"]/descendant::span[contains(@class,"username")][1]', document, null, 7, null);
      var flag = 0;
      for (var i = 0; i < result.snapshotLength; i++) {
        if (result.snapshotItem(i).nodeValue == sign) {
          result2.snapshotItem(i).id = "hoge";
          flag = 1;
          break;
        }
      }
      if (flag == 1) {
        var result3 = document.evaluate('id("hoge")/ancestor::li[1]', document, null, 7, null);
        var l_url = location.href;
        l_url = l_url.replace(location.hash, "");
        location.href = l_url + "#" + result3.snapshotItem(0).id;
      } else {
        alert("該当するユーザーのツイートがありません");
      }
    }
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。