ホームページ >ウェブフロントエンド >jsチュートリアル >チキンフットでウェブを書き直します
Firefoxブラウザが多数のプラグインと拡張機能を使用して、開発者がDOMおよびWebページの他の露出した部分と対話できるようにします。 JavaScriptシェルブックマークレット、FireBug、Greasemonkey、Platypusなどのツールは、開発者がページにカスタムインタラクティブ性を追加できるようにするのに役立つことが証明されています。 ただし、ユーザーが複数のページと動的に対話したり、Firefoxインターフェイスのさまざまな部分を自動化したり、多数のページでアクティビティをスクリプト化したり、Webページとローカルファイルシステムの両方を同時に操作したりする場合、オプションは歴史的に制限されています。しかし、これは最近、Coscripterなどの拡張機能と、この記事の主題を形成する拡張機能であるChickenfootで変化し始めました。
キーテイクアウト
複数のサイトを実行するスクリプトを作成するため、1つのWebページにアクセスし、ページの一部からテキストをコピーし、Googleに移動し、そのテキストを検索してから、ローカルファイルシステムのページへの最初のリンクを追加できます
>>
Firefoxはクロスプラットフォームブラウザーであるという事実にもかかわらず、拡張機能はWindowsで最適です。 MACを使用している場合でも、Chickenfootをインストールしてこの記事のコードと一緒に再生できますが、一貫性のない動作が表示される場合があります。残念ながら、キンクが解決されるまで、this.docshellには頻繁に表示されない警告があり、出力はここで説明したものと一致しない場合があります。
拡張機能をインストールしてブラウザを再起動したら、F8を押すか、[ビュー]> [SideBar]> Chickenfootメニューオプションを選択することにより、Chickenfoot Interactiveシェルにアクセスできます。シェルはサイドバーで開き、下の画像のようなものになります。
チキンフットサイドバーが最初に起動されると、スプリットビューが表示されます。上部パネルには、無題のテキストフィールドが含まれています。これは、チキンフットコードを書く入力領域です。
出力がキャプチャされていることをテストしましょう。そのために、新しいFirefoxタブを開き、Googleホームページをロードします。ページが読み込まれたら、ページの左上にある画像リンクをクリックして、Googleの画像検索に移動します。チキンフット出力タブをもう一度選択する場合は、次のテキストを表示する必要があります。
これは、何が起こったかの説明以上のものです。実際、それはチキンフットコードのスニペットです!このコードをテストするには、バック矢印をクリックしてGoogleホームページに戻り、作成したスニペットをコピーしてチキンフットパネルに貼り付けます。パネルの上部にある緑色の矢印をクリックすると、コードスニペットが実行されます。ページは再びGoogle画像検索ページに移動します。 チキンフットの背後にあるアイデア
Chickenfootは、スクリプト可能なWebを有効にする他のツールと特定のアイデアを共有しています。
チキンフットの背後にある主なアイデアは、プログラマーの支援を必要とせずに、誰でも使用または書くことができるマクロを作成するためのツールをユーザーに提供することです。ここでは、この目的は達成されないという私の意見であることに注意する必要があります。これは、プログラマーが実装できる複雑な機能を持つスクリプトが常に需要があるからです。しかし、この理想主義的な目標がチキンフットの背後にある原動力であるという事実は、非常に有用なツールをもたらしました。click("Images")これらの目的は、Coscripterの目的と似ています。実際、CoscripterはChickenfootバージョン0.9コードの一部を使用しています。この記事ではCoscripterの詳細については説明しませんが、もっと読むことに興味があるなら、Alex Faaborgの記事を参照してください。
MS WordやAdobe Photoshopのマクロのように、チキンフットスクリプトをどのように記録できるかを見てみましょう。この例では、前のセクションで見た単一のコマンドよりもわずかに複雑なスクリプトを作成します。このデモでは、Coscripterチュートリアルを始めることからインスピレーションを得ました。
終了したら、スクリプトはブラウザになります。
ページwww.google.comをロードします
最初のGOアクションとは別に、私たちが後にしているコマンドはクリックしてコマンドを入力します。また、渡された値を簡素化することができます。これにより、スクリプトが次のようになります。
click("Images")
上記の例から気付くかもしれないことの1つは、JavaScriptのような多くのCベースの言語とChickenfoot構文が共通していることです。 Chickenfootコマンドは、実際、JavaScriptです
表面を引っ掛けます
把握することが重要な概念の1つは、チキンフットがほとんどのJavaScriptユーザーが馴染みのある通常(x)HTML環境で実行されないことですが、FirefoxのXUL環境で実行されないことです。この環境は、チキンフットがWebページのコンテキストとより簡単に相互作用できるようにするために拡張されています。
go("google.com")通常のページのコンテキストでJavaScriptがアクセスできるオブジェクトを参照または変更すると、予想どおりに動作する可能性があります。ただし、チキンフットJavaScriptエンジンにはアクセスのレベルが深いため、デフォルトのコンテキスト以外のオブジェクトにアクセスするなど、通常よりも多くの自由をとることができます。
チキンフットをさらに探索すると、2つの環境とオブジェクトの振る舞いの違いに遭遇する可能性があります。ほとんどの場合、これらの違いの理由は、親しみやすさのためにXulチキンフット環境で再実装されたブラウザ環境からのネイティブ機能にかかっています。
そのような例の1つは、アラート関数です。 JavaScriptコードの次のスニペットを考えてみましょう
click("Images")このコードがFirefoxのHTML環境で実行されると、次のダイアログボックスが表示されます。
ただし、チキンフット環境で実行されると、同じコードが次のダイアログボックスを作成します。
多くの共有関数に加えて、通常のブラウザベースのJavaScriptの実装では利用できないが、チキンフット環境内で利用できる追加の機能がいくつかあります。 これらの機能のリストは、チキンフットAPIドキュメントにあります。
チキンフットAPI で
テクノロジーと同様に、チキンフットの特定の部分が他のものよりも便利な部分があり、チキンフットを最大限に活用するために絶対に理解する必要がある部分があります。
以下は、私が最も便利だと思う部分です。パターンデータタイプ
ほとんどのチキンフット関数は、パラメーターのパターンを受け入れます。 APIドキュメントでは、「他の多くのデータ型の結合」としてパターンが説明されています。
HTMLページでオブジェクトにアクセスするための速記のフレーズとしてパターンを考えるのが最も簡単です。たとえば、パターン「セカンドチキンフット」は、ページ上の「チキンフット」という単語の2番目の発生を指します。チキンフットAPIページにアクセスして次のコードを実行する場合、ページ上の「チキンフット」という単語の2番目の発生が選択されます。 このアプローチにはいくつかのバリエーションがあり、Chickenfootはいくつかのロジックを使用して、フレーズが使用しているパターンをインテリジェントに把握しようとします。このため、特定の関数(クリックなど)はパターンではうまく機能しません。複数の結果を返すことができるパターンが与えられた場合、エラーが生成されるためです。 たとえば、
上記のコードを次のように変更するとします。これにより、次のような出力パネルにエラーメッセージが生成される可能性があります。
したがって、パターンを効果的に使用するには、パターンを特に正確に作成する必要があります(たとえば、LAPIS拡張機能がインストールされている場合はXpath SyntaxまたはLapisクエリ構文を使用して)またはFind関数を使用し、この関数が戻るオブジェクトの配列を繰り返します。次にこのアプローチを見ていきます。
go("google.com")パターンは、次のデータ型の結合です。
検索関数
検索関数はパターンを取り、そのパターンに一致するオブジェクトを返します。次のコードを上のパネルに配置し、このまさにページで実行します。
click("Images")出力パネルにオブジェクトが表示されることに気付くでしょう。このオブジェクトをクリックすると、「チキンフット」という単語のすべてのインスタンスが強調表示されます。
この関数が返すオブジェクトは、残念ながら、JavaScriptアレイではありません。経験則として、チキンフットの発見機能の結果を配列にパイプし、アレイをループして、あなたが望んでいる個々のオブジェクトを選択する必要があります。
関数を含むインクルード関数を使用すると、チキンフットスクリプトに他のJavaScriptファイルを含めることができます。 Chickenfootにはいくつかの内蔵ライブラリが付属しています(ほとんどの名前は自明です):
prototype.js、修正バージョン1.5.0_RC0プロトタイプのリリース。残念ながら、執筆時点で、ChickenfootのXul環境はプロトタイプライブラリでエラーを発生させ、プロトタイプライブラリの新しいバージョンを互換性がありません。 Facebook APIを照会するための
Facebook.jsfileio.js、ローカルファイルシステムと対話するための関数を提供します。
Chickenfootには、Findを使用してページ上の要素を取得し、その要素から実際にその要素に移動できるように、After、Before、insertなどの他のいくつかの言語構成もあります。これらの関数は、その要素または周囲のHTML要素にコンテンツを動的に挿入することも可能になります。
有用なタスクがChickenFeedに変わりました
タスクを自動化することを目的とするテクノロジーは、迅速に有用なことを簡単に行えるようにする必要があります。このセクションでは、チキンフットが本当に便利であるいくつかのタスクについて説明します。コードの断片を含めましたが、JavaScriptのベストプラクティスを説明していないかもしれませんが、チキンフットのさまざまな用途を説明するのに良い仕事をしています。始めましょう!これがいくつかの便利なチキンフットスクリプトです。
最初に、Firefox Chromeの最上位レベルでどの変数がバインドされているかを調べましょう。
次に、現在のWebページをXHTML文字列として出力ペインに出力しましょう。
次に、上のXHTML文字列をデスクトップに書きましょう。上記の例からデスクトップのファイルにXHTML出力を記述することができます。 MacまたはLinuxマシンを使用している場合は、「//」に逃げ出したファイルセパレーター「」を「//」に置き換えます。
上記のタスクは、デフォルトのFirefoxダウンロードディレクトリ(通常はデスクトップ)を使用するため、Chickenfootの間もなくリリースされるバージョンでさらに単純なコードを使用して実際に実行できます。
さあ、検査したブラウザクロムとやり取りしましょう。click("Images")Firefoxでは、問題のオブジェクトのIDがある場合、ブラウザのウィンドウクロームの一部にアクセスできます。これは、関数chromewindow.document.getelementbyidを使用して取得できます。たとえば、ページを右クリックすると表示されるコンテキストメニューのIDは、ContentAreAcontextMenuです。上記の例3からスクリプトを取得する場合は、DOMをデスクトップに保存し、それを関数にラップする場合、次のようにこの関数をコンテキストメニューから呼び出すことができます。
チキンフット機能の追加関数を使用すると、ドキュメントにデータを追加できることに注意してください。このように使用してください:
click("Images")
うまくいけば、これらの例は、チキンフットスクリプトによって自動化できるシンプルだが強力なタスクのいくつかを感じさせます。
go("google.com")より高度なチキンフットスクリプト
簡単なタスクで十分です - チキンフットでもう少し高度なことをしましょう!
スクリプトは次のとおりです
このスクリプトは、ユーザーに何らかの入力を促し、その入力をパラメーターとしてチキンフット検索関数に渡します。 Findがチキンフットパターンを受け入れることを忘れないでください。そのため、この種の検索の可能性のある用途は、文字列以上のものと一致するように頼むことができることを考えると、ほとんど無限です。
アレイを返さないFindメソッドに最初に遭遇したときから思い出すことができます。したがって、結果を配列に読み取る必要があります。おそらく、このタスクを実行するコードの断片が、あなたが書いている他のチキンフットスクリプトで役立つようにすることを見つけるでしょう:この後、スクリプトは検索関数によって返される配列をループし、検索文字列を正確に含むテキストに一致するチキンフットパターンを構築しようとします。次に、チキンフットチェック関数を使用して、テキストのセクションに最も近いチェックボックスを切り替えて、そのメッセージを選択します。
go("http://www.google.com/")チェックは、正確なテキストがあることを確認できる必要があるか、エラーが発生する必要があることを忘れないでください。そのため、fund.text。
click("Images")
go("http://images.google.com/imghp?hl=en&tab=wi")
enter("Sign in", "koalas")
click("Search Images button")
go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
&gbv=2")
上記のスクリプトの顕著な側面の1つは、達成する機能に比べて小サイズです。 Chickenfootの機能は、DOMなどの標準的なAPIよりも、ドキュメントと動的に対話する簡単な方法を提供します。
結論
この記事では、Chickenfootを使用してブラウザと対話することができるいくつかの方法を検討しました。この記事では、チキンフットで何ができるかという点で表面を引っ掻いただけです。可能性は大きく、想像力によってのみ制限されています!go("google.com")もっと学ぶことに興味がある場合は、次のリソースをご覧ください。
click("Images")
enter("koalas")
click("Search Images button")
Web書き換えツールに関するよくある質問(FAQ)
学術的な目的でWeb書き換えツールを使用できますか?
WebのAIの書き換えツールはどのように機能しますか?
ほとんどのWeb書き換えツールは安全に使用できます。ただし、データの処理方法を理解するには、ツールのプライバシーポリシーを確認することが重要です。一部のツールは、処理のために一時的にコンテンツを保存する場合がありますが、通常はデータを保持したり共有したりしません。
Web書き換えツールを使用することに制限はありますか?
以上がチキンフットでウェブを書き直しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。