0

すでにクリックしたので、必要のないデータがたくさんあるこのページがありますが、頻繁に繰り返されるため、視覚的に青を探す必要があります。私はこれがより効率的であることに気付き、含まれているリンクが訪問されたかどうかに基づいて、要素を非表示に設定できるかどうか CSS の友人に尋ねました。どうやらそれにはjsが必要です。

li.result 要素を削除 (または visibility:none) するツリー:

li.result
 div.avatar
  a

私はグーグルでこれを行う方法を理解しようとしています.Expert Sex Changeで何かを手に入れましたが、あまり役に立ちませんでした. どのようにしますか?

これはGreasemonkey用なので、ページにコードを追加したりCookieをチェックしたりするヒントは役に立たない. 以前にグリースモンキーの投稿にタグを付けただけで、これを明確にすることができなかったことをお詫びします。

4

3 に答える 3

4

1. a:visited css セレクターを使用できます。

a:visited{
   display:none;
}

また、訪問したリンクを非表示にします (少なくとも Firefox では)。

2.その上の div と li を削除したい場合は、おそらく Cookie を使用して、ユーザーがクリックしたリンクを記憶する必要があります。

そう :

ユーザーがリンクをクリックすると、そのリンク ID が Cookie に入れられます。次に、Cookie 内のすべてのリンク ID に対して、次のようなjQueryを使用できます。

var ids = $.cookie("cookie_with_ids");
var split_ids = ids.split(','); // split by comma

for(var i= 0; i<split_ids.length; i++){
    $("link_"+split_ids[i]).parent().parent().hide();
}

html は次のようになります。

<li class="result">
 <div class="avatar">
  <a href="#" id="unique_link_id_on_this_page"> ....

これは決してテストされていませんが、何をしなければならないかについてのアイデアを与えるはずです。

Cookie の処理には、jquery Cookie プラグインを使用できます

于 2009-01-11T10:14:52.593 に答える
0

私は以前に Greasemonkey を使用したことがなく、私の JS の知識はせいぜい単純であることに注意してください。

既存の<style>タグまたは<head>JavaScript を使用して、スタイル宣言を追加できませんでしたか?

たとえば、異なるリンクに異なる色を適用するルールを追加します。

li.result div.avatar a {
    color: #000;
}

li.result div.avatar a:visited {
    color: #111;
}

li次に、 に分類されたすべての要素をトラバースし、その中に含まれる の色がまたはであるresultかどうかを確認します。私の考えでは、基本的な :visited チェッカーが作成されます。私は今それをテストする必要があります (何かを学ぶためだけなら) が、この種のことは実行可能ですか?a#000#111

于 2009-01-11T22:36:43.420 に答える
0

これは、友人が私のために作ってくれたもので、完璧に機能します。主に、他の誰かが役に立つと思った場合に備えて投稿します。

// ==UserScript==
// @name           Twitter Search Seen
// @namespace      http://ctho.org
// @description    Hides tweets you've seen
// @include        http://search.twitter.com/*
// ==/UserScript==

for each (var i in document.links) {
    if (i.parentNode.className == "msg" && i == i.parentNode.childNodes[1]) {
//alert(getComputedStyle(i, null).color);break;
        if (getComputedStyle(i, null).color == "rgb(147, 13, 133)") {
            i.parentNode.parentNode.style.display="none";       
        } 
    }
}

ええ、理論的には、スタイリッシュを使用して、訪問済みリンクを既知の色に設定することもできます。

于 2009-01-13T02:56:07.843 に答える