ブックマークレット:ホストドメインからランダムに指定されたリンクをクリックします

user3881996

tl; dr:新しいタブで開くブックマークレット:指定されたドメインからのランダムリンク(指定された複数のhtmlクラス)と現在のログインで機能するコード。ありがとうございました。

屠殺されたコードの短いバージョン:

    javascript:
    (
        var % 20 site = domain.com
        function() {
            window.location.host == site
            void(window.open(document.links[Math.floor(document.querySelectorAll("a.class1, a.class2"))].href, '_blank'))
        }();
//beautified with: http://jsbeautifier.org/





関係者:私はしばらくの間検索し、サービスの切り替えを検討しましたが、いくつかは私の特定の要求に近づいたり類似したりしましたが、要求に伴うすべてに対処するのに役立ったものはありませんでした。

  1. 特定のドメインのページが現在開いていない場合でも、そのドメインでスクリプトを実行します。実行する情報やデータを取得するためのログイン認証が必要な場合は、既存のセッションを読んだり、連携して作業したりしてください。

  2. 特定のドメインホストから、できればcss-selectorsを使用して、特定のhtmlクラス(または実際にはそれ以外)を持つそのドメイン上のすべてのリンクからランダムなリンクを取得します。

  3. 結果を新しいタブで開きます。

そのような類似性を破壊することから、結果は次のようになりました:

    //bookmarklet
javascript:
//anonymous function+ wrapped code before execution
(
// function global variables for quick substitution
  var %20 site = domain.com
function(){
//set domain for script execution
window.location.host == site
//open new tab for
void(window.open(document.links
//random link
[Math.floor
//with specific classes (elements found with css selectors)
(document.querySelectorAll("a.class1, a.class2"))
]//end random-query
.href,'_blank' //end page-open
)//end link-open
)//end "void"
}//end function defintion
//execute
();
//(tried) checked with: 
//http://www.javascriptlint.com/online_lint.php

最後に、私はせいぜい基本的なcssの知識を習得しました。このリクエストにヘッドデスク、パーム、またはgtfoモードの誰かがいる場合はお詫び申し上げます。StackExchange「警告:私はこれをDIYで作成しましたというタグがないのは残念です。しかし、私はまだ、それぞれの修正と修正が何であるか、そして何であるかを説明するために少し深く入る答えが欲しいです。

何卒よろしくお願い申し上げます。

ジュリアン

理論的には、次のコードはあなたが望むことをするはずです:

window.addEventListener('load', function ( ) {
    var query = 'a.class1[href], a.class2[href]';
    var candidates = document.querySelectorAll(query);
    var choice = Math.floor(Math.random() * candidates.length);
    window.open(candidates.item(choice).href, 'randomtab');
}, true);
window.location.href = 'http://domain.com';

ただし、ページのアンロード中にイベントリスナーを保持する可能性が悪用される可能性があり、ブラウザーがそのような悪用からユーザーを保護するため、そうではありません。

代わりに、選択したドメインを手動でロードしてから、次のコードを使用してより単純なブックマークレットをクリックすることができます。

var query = 'a.class1[href], a.class2[href]';
var candidates = document.querySelectorAll(query);
var choice = Math.floor(Math.random() * candidates.length);
window.open(candidates.item(choice).href, 'randomtab');

上記をjavascript:(function ( ) {...})();でラップして前と同じように縮小することもできますが、縮小して前に叩くだけですでに機能しますjavascript:

まったくの初心者で「DIY」コードを投稿するというあなたの状況は理解していますが、このコードが機能する理由と機能しない理由を段階的に説明するつもりはありません。上記のコードの最初のバージョンは、初心者に説明するには複雑であり、問​​題のコードに関する問題のリストは長すぎて、すべてを説明することはできません。より多くのJavascriptを勉強することで、より良い結果が得られます。チュートリアルの良いリソースはMDNです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#ShowDialog()は、スレッドからトリガーされたときにメインフォームをブロックしません

分類Dev

Javaバックエンドからフォームを投稿し、それにリダイレクトします

分類Dev

失敗したコマンドからリダイレクトされた出力ファイルをクリーンアップします

分類Dev

コンストラクターへの引数として指定されたラムダからインスタンスメソッドを呼び出す

分類Dev

クラスインスタンスの属性のサブセットを指定して、ランダムに1つインクリメントします

分類Dev

ドメインをリダイレクトした場合、古いサブスクライバーにプッシュを送信できますか?

分類Dev

Facebookログインメッセージ:「URLがブロックされました:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。」

分類Dev

Facebookログインメッセージ:「URLがブロックされました:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。」

分類Dev

すべてのリクエストを(任意のドメインから)ターゲットドメイン(.htaccess)にリダイレクトします

分類Dev

IIS書き換えルールの組み合わせ-変更されたドメイン名にリダイレクトし、sslへのホスト名プレフィックスリダイレクトを削除します

分類Dev

ドキュメント内のテーブルからオートコレクトライブラリにフォーマットされたエントリを追加します

分類Dev

テキストファイルからリンクをランダムにクリックします

分類Dev

Rマトリックスの列名を失うことなく、RDataとして保存されたRからパンダデータフレームにマトリックスをインポートするにはどうすればよいですか?

分類Dev

iptablesは、ブロックされたIPを1つのチェーンからハニーポットにリダイレクトします

分類Dev

(ブートストラップ)-クリックされたアイテムを反映するようにドロップダウンボタンのテキストを変更すると、キャレットが削除されます

分類Dev

javascriptを使用してクリックするたびにドロップダウンメニューから生成された画像をリセットします

分類Dev

コンテナのバインド マウント ディレクトリの内容は、ホストからリムーバブル ドライブをマウント/アンマウントした後も変更されません。

分類Dev

再ホストされたワークフローデザイナに右クリックブレークポイントメニューを追加する方法

分類Dev

さらにサブクラス化されたタイプのインスタンスを返すマジックメソッドを持つ抽象リストサブクラスはありますか

分類Dev

スリック-自動インクリメントキーでリンクされた2つのテーブルに行を挿入しますか?

分類Dev

残念ながら、フラグメントビューでブックマークされたアイテムをクリックするとアプリケーションが停止しました。タイトルとリンクを保存するためにjsonを使用しています。

分類Dev

インデックスのリストを指定して、マルチインデックスデータフレームからデータを取得します

分類Dev

WPF / PowerShellのデータグリッドコンテキストメニューからクリックされたMenuItemヘッダー値を取得します

分類Dev

特定のリストアイテムがクリックされたときに、ブートストラップドロップダウンの非表示イベントをキャンセルします

分類Dev

指定された div / a の子にクリックイベントをクラスで登録します

分類Dev

リンクをクリックした後、ブートストラップライトボックスにライトボックスが表示されない

分類Dev

freebsdで指定されたネットワークアダプタからネットワークドライブをマウントする方法

分類Dev

このクラスは、SomeModule-> SomeComponentを介してコンシューマに表示されますが、トップレベルのライブラリエントリポイントからエクスポートされません

分類Dev

jQueryはクリックイベントからダブルクリックにデータを渡します

Related 関連記事

  1. 1

    C#ShowDialog()は、スレッドからトリガーされたときにメインフォームをブロックしません

  2. 2

    Javaバックエンドからフォームを投稿し、それにリダイレクトします

  3. 3

    失敗したコマンドからリダイレクトされた出力ファイルをクリーンアップします

  4. 4

    コンストラクターへの引数として指定されたラムダからインスタンスメソッドを呼び出す

  5. 5

    クラスインスタンスの属性のサブセットを指定して、ランダムに1つインクリメントします

  6. 6

    ドメインをリダイレクトした場合、古いサブスクライバーにプッシュを送信できますか?

  7. 7

    Facebookログインメッセージ:「URLがブロックされました:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。」

  8. 8

    Facebookログインメッセージ:「URLがブロックされました:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。」

  9. 9

    すべてのリクエストを(任意のドメインから)ターゲットドメイン(.htaccess)にリダイレクトします

  10. 10

    IIS書き換えルールの組み合わせ-変更されたドメイン名にリダイレクトし、sslへのホスト名プレフィックスリダイレクトを削除します

  11. 11

    ドキュメント内のテーブルからオートコレクトライブラリにフォーマットされたエントリを追加します

  12. 12

    テキストファイルからリンクをランダムにクリックします

  13. 13

    Rマトリックスの列名を失うことなく、RDataとして保存されたRからパンダデータフレームにマトリックスをインポートするにはどうすればよいですか?

  14. 14

    iptablesは、ブロックされたIPを1つのチェーンからハニーポットにリダイレクトします

  15. 15

    (ブートストラップ)-クリックされたアイテムを反映するようにドロップダウンボタンのテキストを変更すると、キャレットが削除されます

  16. 16

    javascriptを使用してクリックするたびにドロップダウンメニューから生成された画像をリセットします

  17. 17

    コンテナのバインド マウント ディレクトリの内容は、ホストからリムーバブル ドライブをマウント/アンマウントした後も変更されません。

  18. 18

    再ホストされたワークフローデザイナに右クリックブレークポイントメニューを追加する方法

  19. 19

    さらにサブクラス化されたタイプのインスタンスを返すマジックメソッドを持つ抽象リストサブクラスはありますか

  20. 20

    スリック-自動インクリメントキーでリンクされた2つのテーブルに行を挿入しますか?

  21. 21

    残念ながら、フラグメントビューでブックマークされたアイテムをクリックするとアプリケーションが停止しました。タイトルとリンクを保存するためにjsonを使用しています。

  22. 22

    インデックスのリストを指定して、マルチインデックスデータフレームからデータを取得します

  23. 23

    WPF / PowerShellのデータグリッドコンテキストメニューからクリックされたMenuItemヘッダー値を取得します

  24. 24

    特定のリストアイテムがクリックされたときに、ブートストラップドロップダウンの非表示イベントをキャンセルします

  25. 25

    指定された div / a の子にクリックイベントをクラスで登録します

  26. 26

    リンクをクリックした後、ブートストラップライトボックスにライトボックスが表示されない

  27. 27

    freebsdで指定されたネットワークアダプタからネットワークドライブをマウントする方法

  28. 28

    このクラスは、SomeModule-> SomeComponentを介してコンシューマに表示されますが、トップレベルのライブラリエントリポイントからエクスポートされません

  29. 29

    jQueryはクリックイベントからダブルクリックにデータを渡します

ホットタグ

アーカイブ