最初に最初の問題に対処しましょう:1。記事の下のこの関数で推奨される関数ソースコードを確認してください
実際には非常にシンプルです。拡大ガラスをクリックして推奨を選択してください。
この投票ポスト(CB_ENTRYID、 'digg')は、推奨ボタンで呼び出される関数です。とても簡単ではありませんか?
2番目の問題は、関数が配置されているファイルの場所を見つけることです。
実際、それも非常に簡単です。もちろん、コンソールに慣れていない友人は、それを読む方法を知らないかもしれません。
コンソールに投票ポストを入力し、Enterを押します。
関数ソースコードは大まかに表示され、Link Blog-Common.js?v = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1:1これはどういう意味ですか?
後続のv = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1は直接無視されます。
PS:これが何であるかを知りたい場合は、実際にはバージョン番号です。それがすることに関しては、キャッシュを防ぐことがよくあります。詳細については、オンラインで検索してください。
Blog-common.js:1はほとんどこれを意味します。 。
Blog-common.jsは、この関数が配置されているJSファイルです
1は、コードが配置されている行番号です。
このリンクをクリックして、ソースパネルにジャンプします。これはソースパネルであり、デバッグの最も重要な機能であり、後でゆっくりと導入されます。
しかし、すべてのコードは1行にありますが、どのように見ますか? 4946文字はすべて1行で縮小されます。 。
Chromeはコードフォーマット機能を提供します。下のプリティプリントボタンをクリックして、コードをフォーマットします。
フォーマットが完了すると、とても美しいでしょう。あなたがそれを理解できるかどうかについては、それは別の問題です。
一部の人々はそれを理解できません。おそらく、コードはjquery.min.jsファイルなどのUglifyJS、Googleの閉鎖などのツールによってコンパイルされているのかもしれません。
また、あなたのレベルが低すぎて、当面の間マスターによって書かれたコードを理解できないので、私はそれについて何もできません。あなたは自分の強さを改善するために懸命に働くことができます。
フォーマットで十分であれば、心配しないでください、私がここにいるなら、なぜあなたはパニックなのですか?
今すぐコンソールパネルに戻ります。
blog-common.js?v = we8o1xrgctu07qvvwyqerqd7aa8fdjp_dgoe-crat3k1:91を見つけてうれしいです
行番号は91になりました。このリンクをクリックすると、対応するフォーマットされた位置にジャンプできます。とても便利ではありませんか? 。
最後の質問は、関数を変更してそれを無効にすることです。これは最も簡単で、今のものよりもはるかにシンプルですが、多くの人がそれを操作できないので、私はそれを特別に取り出して話しました。
まず第一に、この関数を呼び出すように推奨される関数はVotePost(CB_EntryId、 'digg')であることがわかっており、HTMLのOnclickによって直接記述され、拘束されています。
したがって、この関数はどこでも呼び出すことができるグローバル関数であるため、これはどういう意味ですか?
それは私たちがそれを変更できることを意味します、それはグローバル変数のようなものです、あなたはそれをどこでも変更できますよね?その場合、グローバル関数は正しいはずです。
したがって、空の関数に変更することができます。
VotePost = function(){};またはvotePost = $ .noop; $ .noopは、jqueryが提供する空の機能であり、私たちが使用するのに便利です。
これで、VotePostは空の機能になるので、推奨ボタンをクリックすると何も起こりません。
もちろん、ページを更新した後、再び有効になります。ページでデバッグして変更します。ブログパークのソースコードを変更せずに永久に実施することは不可能です。
したがって、デバッグとは、エラーを見つけて排除するプロセスを意味します。エラーソースが配置されている場合は、変更してからテストします。間違っている場合は、もう一度更新して変更するため、実際のファイルを変更する必要はありません。これにより、回復できなくなります。
今日のコンテンツはほぼすべてです。実際、JQueryは現在人気があるため、Debugの直接的なグローバル機能はほとんどありません。また、ClickやSource Codeの配置などのさまざまなイベントバインディングが非常に複雑です。
幸いなことに、私は前に記事を書き、この問題をより詳細に分析しました。詳細については、「jqueryイベントのソースコードの位置決め問題に関する簡単な説明」を参照してください。
私は他のフレームワークに精通していないので、それらを分析しませんでしたが、アイデアは実際に似ており、イベント管理メカニズムが必要です。
今日はあまり知識はありませんが、自分でそれを統合する必要があります。そうしないと、数秒でそれを忘れます。
クラス後のエクササイズ:
1.投票ポスト機能が推奨されるものをどのように実装するかを分析します。
2。投票ポストの動的デバッグと分析。 (ブレークポイントの知識を組み合わせるため)
明日、ブレークポイントとダイナミックなデバッグについてお話します。私は適切な質問を見つけていないので、最初にそれをします。動的なデバッグが必要な適切なものがある場合は、返信してください。 。