3

JavaScriptを使用してページを変更するためのアプリを作成していますが、実行するJavaScriptをどこに配置するかがわかりません。$KのKRL固有のjQueryハンドルを使用しています。

  • KRLルールセット/アプリでJavaScriptを使用できるすべての場所はどこにありますか?
  • これらの各領域でJavaScriptを使用する方法を示す例はありますか?
4

1 に答える 1

3

KRLルールセット内のWebページにJavaScriptを直接配置する方法は2つあります。エミットブロックまたは外部リソースを介して。まず、エミットブロックについて説明しましょう。

エミットは、ルールのアクションブロック、またはルールセットのグローバルブロックに表示できます。ヒアドキュメントまたはclownhatsのいずれかでemitを使用できますが、clownhatsが推奨されます。

ルールでJavaScriptを発行する例を次に示します。

rule emitter {
    select when web pageview "exampley.com"
    {
        emit <| 
            $K("body").append("Hello from a rule.");
        |>;
    }
}

グローバルブロックでJavaScriptを出力する例を次に示します。

global {
    emit <|
        $K("body").append("Hello from the global block.");
    |>;
}

KRLのページにJavaScriptを配置する2番目の方法は、外部リソースを使用することです。

詳細については、リンクされたドキュメントを参照しますが、ルールセットのメタブロックに外部のjavascriptリソースを次のように含めます。

use javascript resource "url-to-resource"

次の場所にあるjavascriptファイルのコンテンツがあるとしましょうmy-personal-website.com/awesome.js

$K("body").append("Hello from an external resource.");

ルールセットでそれを使用するには:

meta {
   // normal meta stuff...
   use javascript resource "my-personal-website.com/awesome.js"
}

これは、KRLルールセットのページにJavaScriptを配置する2つの異なる方法を示す完全なルールセットです。

ruleset a369x151 {
    meta {
        name "fun-with-javascript"
        description <<
            fun-with-javascript
        >>
        author "AKO"
        logging on

        use javascript resource "http://dl.dropbox.com/u/4917848/js/example-external-resource.js"
    }

    global {
        emit <|
            $K("body").append("<br/>Hello from the global block.");
        |>;
    }

    rule emitter {
        select when web pageview "exampley.com"
        {
            emit <| 
                $K("body").append("<br/>Hello from a rule.");
            |>;
        }
    }
}

exampley.comでアプリを実行した後のアクションショット: exampley.comは素晴らしいです!

こちらからアプリのブックマークレットを入手して、自分で試すことができます。

于 2011-02-03T07:14:59.750 に答える