私はちょうど私のウェブサイトの読み込みを高速にするCDNサービスを追加しました。 <img>
タグを使用して取得された写真に関する質問があります。CDNを使用して<img>タグ
私はこのような多くの場合があります。
// userProfile.thumbnailPhotoSrc = some/relative/path.png
ng-src="{{userProfile.thumbnailPhotoSrc}}"
を(私はAngularJSを使用)。
起動時に、CDNエンドポイントを変数window.cdn
に保存するスクリプトがあります。スクリプトの場合は、利用可能なエンドポイントがありませんことを決定:
window.cdn = '';
だから私はのような何かをできるようにしたい:
ng-src="window.cdn + {{userProfile.thumbnailPhotoSrc}"
しかしwindow.cdn
が評価されていないとして、これは、不可能です。しかし、どちらもこれが作業していない:
ng-src="{{window.cdn + userProfile.thumbnailPhotoSrc}"
私は{{}}
下$scope
プロパティをのみにアクセスすることができますので。 CDNエンドポイントを$scope
に保存することはできません。なぜなら、すべてのコントローラには$scope
が存在するからです(私は多く持っていますが、これは保守できません)。
最後に考えたのは、ng-src
だと、ng-src
属性で実行される変換関数を追加していますが、その方法を見つけることができませんでした。
私は何をお勧めしますか?私は、ウェブサイトがCDNから写真を取得し、CDN機能不全の場合に元のサーバーにフォールバックして(相対パスを取得する)ようにしたいと考えています。どうすればその行動を得ることができますか?
おかげ
こんにちはjohniさん、どのようにCDNから画像を取得していますか?最終的にAPIのエンドポイントにヒットして画像データを取得したいのですか?また、小さなヒント - 引用符の中に "{{}}"は必要ありません。ときには、これは物事を混乱させる。 – socialpiranha
私は、この 'userProfile.thumbnailPhotoSrc'が別のドメインだけで保持するのと同じ相対パスを使います。たとえば、 '' https://blabla.cdn.com/ '+ {{userProfile.thumbnailPhotoSrc}} 'は、CDNの正しいアドレスに評価されます。 – johni
これは助けるかもしれないと思う:http://stackoverflow.com/questions/11938380/global-variables-in-angularjs – Hoyen