1

AngularJS を使用して、自分のページの 1 つに vimeo リンクを埋め込もうとしています。ただし、ユーザーが HTTPS または HTTP のどちらからアクセスしているかに応じて、URL を適宜変更します。

 <div class="video">
    <object width="640" height="480">
        <param name="allowfullscreen" value="true" />
        <param name="allowscriptaccess" value="always" />
        <param name="movie" value="{{sslCheck}}//vimeo.com/moogaloop.swf?clip_id=12345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=666699&amp;fullscreen=1" />
        <embed ng-src="{{sslCheck}}//vimeo.com/moogaloop.swf?clip_id=12345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=666699&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480">
        </embed>
    </object>
</div>

コントローラーの sslCheck は"https:"または"http"のいずれかになります。

問題は、Google Chrome でng-srcが HTTP と HTTP の両方の URL を正しくフェッチすることですが、

<param name="movie" value="{{sslCheck}}//vimeo.com/moogaloop.swf?clip_id=12345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=666699&amp;fullscreen=1" />

Google Chrome にはありませんでした (ただし、FF では動作します)。コンソールで、フェッチしようとしていることがわかります

https://myDomain.com/ %7B%7BmovieURL%7D%7D //vimeo......

このためにディレクティブを作成する必要がありますか、それとも AngularJS ですぐに使用できるものがありますか?

ありがとうございました!

4

2 に答える 2

1

実際には、sslCheck をオフにするのが最善の方法だと思います。ブラウザは、次のような CDN の場合と同様に、それを処理する必要があります。

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>

したがって、コードは次のようになります。

<div class="video">
    <object width="640" height="480">
        <param name="allowfullscreen" value="true" />
        <param name="allowscriptaccess" value="always" />
        <param name="movie" value="//vimeo.com/moogaloop.swf?clip_id=12345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=666699&amp;fullscreen=1" />
        <embed ng-src="//vimeo.com/moogaloop.swf?clip_id=12345&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=666699&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480">
        </embed>
    </object>
</div>
于 2013-04-22T20:02:26.687 に答える