YQLを使用したクロスドメインクエリ
クライアントWeb開発者として、サーバーリソースを消費するコストを常に削減したいと考えています。 たぶん私は私だけです、私は知りません。 ただし、クライアント側で実行できないタスクのグループがあります。 これらのタスクの1つ:外部ドメインの要求。 サーバー側のスクリプトを作成する必要があります。このスクリプトは、ブラウザーとサーバーの間の仲介役として機能し、そこからデータを取得して、ドメインからデータを取得します。
昨日、javascript.ruフォーラムの尊敬する人が、ニックネームmelkyを付けて、一見するとjquery.xdomainajax.jsと呼ばれるjQueryプラグインの奇妙なことを言及しました。
プログラマーの探究心は、本質を理解しない限り、すべての種類のプラグインが好きではないので、最も必要な部分を選びました。
var query = 'select * from html where url="http://javascript.ru/" and xpath="*"' var url = 'http://query.yahooapis.com/v1/public/yql?q='+encodeURI(query)+'&format=xml&callback=callback'; var script = document.createElement('script'); script.src = url; document.body.appendChild(script); function callback(data) { console.log(data); // data.result[0] }
コンソールを開き、コードを実行します。 ご覧のとおり、サイトのURLはリクエストに押し込まれ、XMLリクエストはxpathの形式で、レスポンスはjsonpの形式で送られます。 url write format = jsonの場合、回答はタグ付きのオブジェクトの形式で提供されます。
私はこのアプリケーションを超えていませんでしたので、こちらの資料をよりよく学んでください: developer.yahoo.com/yql
コメントでは、彼らは1つのIPからのリクエスト数とアクセスキーを使用するリクエスト数の制限を指摘することを主張していますが、アクセスキーは持っていません(したがって、おそらく:))。
クロスドメイン画像データのダウンロード
それほど面白くないが、念のため
getImageDataは、キャンバスまたはWebGLで使用する他のドメインから画像データを取得できるjQueryプラグインです。 デフォルトでは、作成者はサーバーをプロキシとして使用できますが、node.js、php、またはAppEngineを使用してそのようなサーバーをデプロイすることもできます
SVG→CanvasとCanvg
仕様に基づいてCanvasでSVGをレンダリングします。 SVGは、通常のDOM操作でボタン、複雑なねじれ線、グラデーションを作成するための非常に便利なツールです。 サーバーコンバーターを使用せずに、ブラウザーでベクターグラフィックスを生成し、クライアントまたはサーバーに直接保存できるようになりました。
history.jsを使用した古いブラウザーでHistory APIを使用する
いいえ、残念ですが、ハッシュは古いブラウザでも使用されていますが、同じ機能を使用してページをリロードせずにアドレスを変更できます。
クライアントで生成されたファイルをダウンロードする
このような問題があります。ファイルがブラウザ側で生成された場合、通常の名前を付けると拡張子は機能しません。 問題はjszip.stuartk.co.ukで詳しく説明されています。 Downloadifyと呼ばれる松葉杖を備えた呼吸フラッシュが助けになります: github.com/dcneiner/Downloadify
作業の例は、 pixelgraphics.us / downloadify / test.htmlにあります。
select( "select")の非常に素晴らしい代替品
コメントなし:D
選択した 例