1

ユーザーがオブジェクトをハグして Facebook で「いいね」ステータスを取得する、学校向けのアート プロジェクトを行っています。すべてがほとんど機能します。ただし、ユーザースクリプトでキーボードリスナーを設定する必要があります。

問題:
unsafeWindow.Otomatislike 関数を実行するホットキーを作成するにはどうすればよいですか? もしそうなら、誰でもこれらのコードを組み合わせる方法を教えてもらえますか? 私のシマンティクスが失敗の原因であると確信しています。

100%ステータス コードのように動作

   body = document.body;
if(body != null) {
    div = document.createElement("div");
    div.setAttribute('id','like2');
    div.style.position = "fixed";
    div.style.display = "block";
    div.style.width = "125px"; 
    div.style.opacity= 0.90;
    div.style.bottom = "+42px";
    div.style.left = "+6px";
    div.style.backgroundColor = "#eceff5";
    div.style.border = "1px solid #94a3c4";
    div.style.padding = "2px";
    div.innerHTML = "<img src='http://g1203.hizliresim.com/v/n/3pnck.png' width='16' height='14' align='absmiddle' />&nbsp;&nbsp;<a onclick='OtomatisLike()'>Like</a>"

    body.appendChild(div);

    unsafeWindow.OtomatisLike = function() {

        input = document.getElementsByTagName("input");
        for(i = 0; i < input.length; i++) {
            myID = input[i].getAttribute("data-profileid");
            if(myID != null && myID.indexOf("14226545351") >= 0)
                input[i].click();
        }

    };
}

このコードは、左下隅に小さなボタンを作成して、レッドブルのページにいるときにいいね!すなわち。http://vvcap.net/db/CTHpxz8qeuuZX1yy5tEd.htp

問題 スタイルを設定したセカンダリ div「ボタン」の代わりに、これにキーボード リスナーを追加したいと考えています。 http://vvcap.net/db/M0XbpT5Sw8BmOtfAHJ4m.htp

Revelvent に見えるサンプル コードをいくつか見つけました。しかし、私はそれを実装する方法を理解するのに多くの問題を抱えています: hotkey citation

    var isCtrl = false;
document.onkeyup=function(e) {
    if(e.which == 17) isCtrl=false;
}document.onkeydown=function(e){
    if(e.which == 17) isCtrl=true;
    if(e.which == 96 && isCtrl == true) {
         alert('Keyboard shortcuts are cool!');
         return false;
    }
}

このコードは論理的には理にかなっていますが、私はそれを完全に実装できません。17 = ctnl キー、96 == テンキー 0。したがって、ホットキー == ctnl + 0 (テンキー)。もちろん、アラートは Facebook のような機能に置き換えられます

最終コードの回答

    // ==UserScript==
// @name            Facebook Like By Virgan
// @namespace               http://userscripts.org/scripts/show/123303
// @version         0.3
// @copyright               Virgan
// @description             Auto Like And Confirm (mass) | You can mass like and confirm
// @author          Virgan (http://userscripts.org/users/430638)
// @icon            https://lh4.googleusercontent.com/-2A1Jpr4-1qM/TxPUbMq8IQI/AAAAAAAAAIU/_50N6LEgkxE/h120/FB.png
// @require         http://code.jquery.com/jquery.min.js
// @include         http://www.facebook.com/*
// @include         https://www.facebook.com/*
// @exclude         htt*://developers.facebook.com/*
//
// Copyright (c) 2012, Virgan
// Auto Like/Unlike, And Another Function.


// ==/UserScript==

// ==Profile==
unsafeWindow.OtomatisLike = OtomatisLike;
function OtomatisLike() 
    {   
        input = document.getElementsByTagName("input");
        for(i = 0; i < input.length; i++) 
            {
                myID = input[i].getAttribute("data-profileid");
                if(myID != null && myID.indexOf("14226545351") >= 0)
                input[i].click();
            }

    }


$(window).load(function(){

    var isCtrl = false;
    document.onkeyup=function(e) {
        if(e.which == 17) isCtrl=false;
    }
    document.onkeydown=function(e){
        if(e.which == 17) isCtrl=true;
        if(e.which == 96 && isCtrl == true) {
            OtomatisLike()

            return false;
        }
    }

});

プロジェクトpdfプリセットネーションについて詳しく知りたい場合は、ご協力いただきありがとうございます

4

1 に答える 1

2

ここ
では、関数を含む HTML ページを作成しOtomatisLike()ました。

<html lang="en">
<head>
<title>test - keylistener</title>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function OtomatisLike() { alert('alert fired from html page') }
</script>
</head>
<body>
    <button id="btnstart">click to start</button>
    <script type="text/javascript">
        $('#btnstart').click(function() { OtomatisLike() })
    </script>
</body>
</html>

GM が無効になっている場合、ボタンをクリックすると、「html ページからアラートが発生しました」というアラートが表示されます。

次に、その関数を変更するグリースモンキー スクリプトを作成しました

// ==UserScript==
// @name        TESTE 2
// @require     http://code.jquery.com/jquery.min.js
// @include     file://*
// ==/UserScript==

function OtomatisLike() { alert('alert fired from greasemonkey') }
unsafeWindow.OtomatisLike = OtomatisLike;

$(window).load(function(){

    var isCtrl = false;
    document.onkeyup=function(e) {
        if(e.which == 17) isCtrl=false;
    }
    document.onkeydown=function(e){
        if(e.which == 17) isCtrl=true;
        if(e.which == 96 && isCtrl == true) {
            OtomatisLike()
            //alert('Keyboard shortcuts are cool!');
            return false;
        }
    }

});

GM を有効にすると、ボタンをクリックするか、関数を押すことができます。これは、スクリプト内ctrl 0の関数OtomatisLike()に置き換えられ、「グリースモンキーからアラートが発生しました」と警告するようになりました。

于 2012-04-18T19:26:25.527 に答える