ここにJavascriptnewb。作業中の簡単なタスクを自動化するためのブックマークレットを作成します。主に学習演習。たとえば、CNN.comのトランスクリプトをスキャンします:(http://transcripts.cnn.com/TRANSCRIPTS/1302/28/acd.01.html)。ページ上部のリードストーリー、ショーのゲストの名前とタイトルを取得し、別のドキュメントにコピーして貼り付けることができるようにフォーマットします。
小見出しを取得し、正規表現を使用してゲストの名前を検索するjQueryを含む単純なバージョンを考え出しました((ビデオクリップの開始)と(ビデオクリップの終了)の間のすべても除外されますが、私は持っていませんまだそこまで到達していません。アラートが表示されます(最終的にはポップアップウィンドウに出力されます。アラートはトラブルシューティングのみを目的としています)。
http://benalman.com/code/test/jquery-run-code-bookmarklet/を使用してブックマークレットを作成しています。私の問題は、ブックマークレットが作成されると、完全に応答しなくなることです。それをクリックしても何も起こりません。最初にコードを最小化しようとしましたが、結果はありませんでした。私の推測では、cnn.comのjavascriptは私のものと競合していますが、それを回避する方法がわかりません。または、現在のページにテキストを読み込んで保存するためのコードを含める必要がありますか?コードは次のとおりです(コメントを含めましたが、ブックマークレットジェネレーターを使用したときにコメントを削除しました)。助けてくれてありがとう!
//Grabs the subheading
var leadStories=$(".cnnTransSubHead").text();
//Scans the webpage for guest name and title. Includes a regular expression to find any
//string that starts with a capital letter, includes a comma, and ends in a colon.
var scanForGuests=/[A-Z ].+,[A-Z0-9 ].+:/g;
//Joins the array created by scanForGuests with a semicolon instead of a comma
var guests=scanForGuests.join(‘; ‘);
//Creates an alert in the proper format including stories and guests.
alert(“Lead Stories: “ + leadStories + “. ” + guests + “. SEE TRANSCRIPT FIELD FOR FULL TRANSCRIPT.“)