学校が作ったチャリティー ソングのウェブサイトを作っていますが、すでに約 600 ポンドを稼いだ寄付ページがあります。私がやりたいことは、サイトを 1 日に数回更新しなくても、ちょうど提供しているページから現在の合計を取得することです。
そのページで必要なアイテムを検索して、サイトのページに含めることはできますか? javascript の getElementById のようなものですか?
学校が作ったチャリティー ソングのウェブサイトを作っていますが、すでに約 600 ポンドを稼いだ寄付ページがあります。私がやりたいことは、サイトを 1 日に数回更新しなくても、ちょうど提供しているページから現在の合計を取得することです。
そのページで必要なアイテムを検索して、サイトのページに含めることはできますか? javascript の getElementById のようなものですか?
データを抽出しようとしているページに大きく依存します。
最初に、プロジェクトの寄付を照会するために使用できる API が Just Giving にあるかどうかを確認する必要があります。編集:レビュー後、APIがあります。これが推奨される方法です。
それ以外の場合は、金額が特定の div に格納されているかどうかを確認して、文字列を見つけやすくすることができます。JavaScript はフェッチされたドキュメントの DOM で実行されないため、この検索は「文字列ベース」である必要があります。したがって、.search
文字列に対して関数を使用し、必要な値が見つかるまでそこから作業する必要があります。
非常に簡単な解決策は、文書内で "£" を見つけて、スペースまで続く文字列を取得し、それを寄付額として表示することです。
はい。Just Givingサイトが、表示したいスニペットを含む単純なページを公開している場合は、JQuery(Javascriptを使用)を使用してAJAXを介してページを取得し、取得したものを、表示したい場所のHTML要素に配置するだけです。 。
寄付が頻繁にある場合(数秒ごとなど)、数秒ごとに更新されるJavascriptタイマーを使用することもできます。
JQueryのajax()メソッドを見ると、別のページをクエリしてそのコンテンツを取得する方法の例がいくつかあります。コンテンツを取得したら、.html(htmlstring)と呼ばれる別のJQueryメソッドを使用できます。これは、HTML要素のHTMLコンテンツを置き換えるだけです。
ajax()
変数のメソッドを介して取得したページのコンテンツがあり、次に呼び出すことができるとしますjustgiving
。<div id='justgiving-snippet'>
$('div#justgiving-snippet').html(justgiving);
Javascriptに少し慣れなければなりませんが、非常に簡単です。その他の例については、上記の2つのリンクを確認してください。
ちなみに、justgiving
AJAXで受け取った変数も処理できます。したがって、そのスニペットのみが必要な場合(たとえば、クラスを持つ要素のコンテンツのraised-so-far
場合、次のように実行できます。
mysnippet = $('.raised-so-far', $(justgiving)).html();
これは、サイトのある領域から別の領域に「パーツ」または「モジュール」を追加する場合にも機能します。
Just Giving 情報を取得して別のファイルに保存するロジックを使用します。-Only- ロジックを与えるだけ、スタイリングなし、html ヘッダー/ボディなどなし。他のページに印刷したいロジックと生データのみ。
ホームページまたはインデックス ページで、データを表示する場所に配置します。
これにより、ページ「スニペット」からロジックの内容が出力されます。これを「モジュール」システムのように考えてください。それは失礼で、粗雑ですが、必要なことを行う必要があります。