1

この質問は、熱心なつまずきのすべてに向けられています...つまずくと、URLは以下のように変更されます。ご覧のとおり、すべての元のコンテンツの前に http://www.stumbleupon.com/su/...、直接URLの後にあります。

何か面白いものに出くわした場合は、URLをコピーして、必要な場所に貼り付けて共有したいと思います。問題は、誰かがそれをクリックすると、それが彼らのためにつまずきを引き上げて、彼らをコンテンツに連れて行くということです。私はむしろ直接リンクだけを持っていると思います。

http://www.stumbleupon.com/su/1NKFju/:10yM7NnNO:GEYExz6R/toti.jjsoft.hu/public8/nyar1779/a28.jpg
http://www.stumbleupon.com/su/1uGF9s/:11Sd-1n0R:GEYExz6R/www.popularmechanics.com/technology/how-to/home-theater/4342672/
http://www.stumbleupon.com/su/237YPB/:GdOWpKe.:GEYExz6R/nerdsguidetoreading.com/Nerds_Guide_to_Reading/Science_Fiction.html/
http://www.stumbleupon.com/su/2pkYws/:1f+I-KON5:GEYExz6R/www.wizards.com/dnd/images/wd_maps/FRposterLarge_150.jpg/
http://www.stumbleupon.com/su/1ceVWt/:1fdJgD$uT:GEYExz6R/www.psych.upenn.edu/~andrewbg/images/Bluebell-carpet-480.jpg/
http://www.stumbleupon.com/su/2DdDRI/:GvgBVfdV:M-wRpADk/www.nature.com/news/higgs-triumph-opens-up-field-of-dreams-1.10970/

ご覧のとおり、前述のつまずきの専門用語のほとんどはほぼ同じ長さです。ただし、3番目と最後は1文字短くなります。

新しいページにつまずくたびに、つまずくものを取り除き、直接リンクを残すだけのユーザースクリプトを書くことができるかどうか知りたいです。

つまずきバーを保持したいのですが、新しくつまずいたページに到達したら、URLを編集して削除し、実際にページをリロードしないでください。

4

2 に答える 2

1

Stumbleupon の URL フィールドは一定数のスラッシュ ( /) で区切られているため、次のように正規表現を使用して URL を取得できます。

var targURL = location.href.replace (
    /^.+stumbleupon\.com\/su\/\w+\/[^\/]+\/(.+?)\/?$/i
    , "http://$1"
);

Stack Overflow は(通常)スクリプト作成サービスではありませんが、既存のスクリプトの 1 つを問題なく変更したところ、動作しているようです...

更新:以下はGreasemonkeyスクリプトです。これは、質問が最初に指定したものであるためです。Chrome で使用するには、Tampermonkey 拡張機能をインストールします。

// ==UserScript==
// @name     _Stumbleupon, add direct link to content page
// @include  http://www.stumbleupon.com/su/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==

$("#tb-like").before ( '                                                    \
    <li id      = "gmDirectLinkDisp"                                        \
        class   = "tb-btn tb-hide-visitor"                                  \
        title   = "Click for the direct link to the target page, below."    \
    >                                                                       \
        <button>Direct link</button>                                        \
    </li>                                                                   \
' );

$("#gmDirectLinkDisp button").click ( function () {
    var targURL = location.href.replace (
        /^.+stumbleupon\.com\/su\/\w+\/[^\/]+\/(.+?)\/?$/i
        , "http://$1"
    );
    window.prompt (
        "Press 'Ctrl+C' to copy to the clipboard; "
        + "then press `Enter` to close this dialog."
        , targURL
    );
} );

GM_addStyle ( "                             \
    #gmDirectLinkDisp {                     \
        float:              left;           \
    }                                       \
    #gmDirectLinkDisp button {              \
        padding:            0;              \
        margin-top:         10px;           \
    }                                       \
" );
于 2012-08-04T06:16:08.447 に答える
0

StumbleUpon Firefox 拡張機能を使用すると、フレーム付きのバージョンではなく、URL に直接アクセスできます。アドレス バーに表示される URL の前に stumbleupon.com/su/xxxx がありません。

于 2012-08-08T19:16:12.323 に答える