2

どうすればこれを実現できるのだろうと思っていました。

外部リンクサイトからすべての画像を取得して、他のサイトに表示する必要があります。jQueryなしで実行することは可能ですか?単純なJavaScriptまたはフラッシュで?

誰かがチュートリアルのようなものを提案することができますか?

javascriptの場合、eBayのリストで機能させたいので、非常に単純なコードである必要があります。

例:リストにはXXXの携帯電話用のホルダーが販売されており、まったく同じアイテム(同じカテゴリのもの)のフィルムストリップなどを下部に配置したいと思います。機能性を持たせたいので、カテゴリへのリンクだけを変更するだけで、写真が自動的に変更されます。可能ですか?

ありがとう、

はっきりしなかった場合は、質問してください。詳しく説明します。

4

1 に答える 1

5

注:質問者は、この答えがEbayリストの中で機能しないと述べました。
それ以外は、それは非常にうまく機能し、一部の「Web開発者」(LOL)を苛立たせます。とりあえずここに置いておきます。

私はあなたが外部リンクサイトを所有/管理していないという卑劣な疑いを持っていたので、「外部リンクサイトからすべての画像を取得して他のサイトに表示する」(尋ねられたように)と、クロスドメインのセキュリティ制限に該当します。

したがって、「ユーザーの力」を取り戻すには、 http: //query.yahooapis.com/を使用するだけです。
jQueryは厳密には必要ありません。

例1:
SQLのようなコマンドの使用:

select * from html 
where url="http://stackoverflow.com" 
and xpath='//div/h3/a'

次のリンクは、最新の質問のためにSOをスクレイプします(クロスドメインセキュリティブル$#!7をバイパスします): http://query.yahooapis.com/v1/public/yql?q = select%20%2a%20from%
20html %20%0Awhere%20url%3D%22http%3A%2F%2Fstackoverflow.com%22%20%0Aand%20xpath%3D%27%2F%2Fdiv%2Fh3%2Fa%27%3B&format = json&callback = cbfunc

ご覧のとおり、これはJSON配列(xmlを選択することもできます)を返し、callback-functionを呼び出しますcbfunc

あなたの場合、あなたは画像リンクを探してあなたのページにそれらを含めるでしょう。

例2:以下のコメントで尋ねられるように、純粋なJavaScript
のこのは、Ebayストアからimage-urlをフェッチするだけでなく、 product-titleproduct urlもフェッチします(product-titleが画像のタイトル)。そのため、yql-stringを動的に構築する方法と、返されるデータを使用して何ができるかも示しています。

function cbfunc(json){
   if(json.query.count){
      var data=json.query.results.div;
      var i=0, l=data.length, htm='';
      for(;i<l;i++){
         htm+='<a href="'+data[i].a.href+'">' +
                 '<img title="'+data[i].a.img.title+'"' +
                       ' src="'+data[i].a.img.src+'">' +
              '</a>\n';
      }
      document.getElementById('output').innerHTML=htm;
   } else {
      alert('Error: nothing found'); return false;
   }
}

function fetchEbayStore(url){
   var yql="select a.href, a.img.src, a.img.title" +
           " from html" +
           " where url='" + url + "'" +
           " and xpath='//td/div[@class=\"image\"]'";
   yql="http://query.yahooapis.com/v1/public/yql?q=" +
       encodeURIComponent(yql) +
       "&format=json" +
       "&callback=cbfunc";
   getJSON(yql); //you need to provide getJSON or use a library
}

上記の例の動作を確認するには、この「クイック」「ダーティ」jsfiddleを参照してください。これは説明のためだけのものであり、本番用ではないことを忘れないでください。

詳細については、yahooのyql -documentationを読んでください。コンストラクターの右側にある、実際の例を参照してください。

于 2012-08-22T19:27:41.337 に答える