2012-04-15 23 views
2

私は経験豊富な開発者ではありません。私はできるだけ明確にしようとします。あなたの洞察に欠けている情報がある場合は、私に知らせてください。APIを使って作業する(2つのjQueryバージョンとクロスドメインを持つページ)

だから、私は仕事

会社が異なるjQueryのバージョン(1.2および1.4)で実行されているページの2種類があります。さらに、いくつかの異なるドメイン(例:company.com、support.company.com、contact.company.com)を通じてサイトを運営しています。

company.com(jQueryの "$ jの" または "jQueryの" です)1.2上でjQueryの1.4(我々は唯一の "$" でのjQueryにアクセスすることができます)、その他で実行されます。

我々はなど、私たちはjQueryの1.4バージョンでページを呼び出すことができます。このAPIをその価格、画像、descriptonのような製品から多くの情報を取得するAPIを持っています。他のドメインでは、このAPI経由で情報を取得することはできません。

javascriptとjqueryコードを扱うことができます。バックエンドにアクセスすることはできません。

だから私の質問は:私は、ページ上のenviromentsの両方の種類からAPIの作品を作るために持つべきアプローチは何ですか?最も古いバージョンを上書きすることはできますか?これはドメイン間の問題ですか?私はこの問題を解決するためにここで何を考えていますか?

私は本当に私がはっきりしていることを願っています。そうでない場合は、私に知らせてください、私はそれを明確にしようとします。 :)

ありがとうございます!二回ロードされたときに、それらの両方が同じ$変数を使用するので

+0

どちらにも最新のjQueryを使用することです(1.2?真剣にも恐竜は1.2の間に地球を徘徊しました!)。そうすれば、2つの別々のバージョン(そして2つの別々の名前空間)を扱う必要はありません – Joseph

+0

Hey Joseph! あなたの答えをありがとう。 :) はjavascriptやjqueryのページのロード時を経てバージョンを上書きすることが可能です...我々はすでに、この変化の種類を作ってみましたが、シニアMGMTは...本当に理由を知りませんしたくありません? –

答えて

1

私の知る限りでは、jQueryのは、自分自身を上書きします。 there is a way to make one go aroundとなり、もう一方の名前空間は割り当てられたままになります。

jQueryには古いAPIとの下位互換性があると思います。サイトのAPIをチェックして、それらのメソッドがまだ存在するかどうかを確認してください。最近、廃止予定のメソッドがいくつかあります。それ以外の場合は、最新のjQueryを使用してAPIを再構築するだけです。それは難しいことではありませんが、基本的な方法についてはそれほど変わっていません。あなたも

(まだ1.4より前に存在しなかったもの)、最新の方法を使用してパフォーマンスの向上を取得し、彼らは2つのAPIを作成するよりも、より良い戦略を考える必要があることを上級管理職に伝えるかもしれません。保守可能でスケーラブルなAPIを計画していないことの影響が現れ始めています。

1

試してください:あなたはjQueryの$またはjQueryjq12またはjq14に電話していない

<!-- load and register jQuery 1.2 --> 
<script src='jquery-1.2.js'></script> 
<script> 
    var jq12 = jQuery.noConflict(); 
</script> 

<!-- load and register jQuery 1.4 --> 
<script src='jquery-1.4.js'></script> 
<script> 
    var jq14 = jQuery.noConflict(); 
</script> 

必要です。

jq12('element').click(function() { 
    // Do things 
}) 

jq14('element').click(function() { 
    // Do things 
}) 
関連する問題