2013-04-22 37 views
1

对于AngularJS,我试图将vimeo链接嵌入到我的一个页面中。但是,根据用户是来自HTTP还是HTTP,我们会相应地更改URL。AngularJS中“Value”属性的ng-src的等效代码

<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”

的问题是同时NG-SRC获取正确的URL为HTTPS和谷歌浏览器HTTP,但

<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" /> 

谷歌浏览器没有(尽管它在FF作品)。在控制台中,我们可以看到,它试图获取

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

我需要为此创建指令,或者AngularJS中有什么可以使用的东西?

谢谢!

+0

你说:问题是,而NG-SRC正确获取的URL,HTTPS和谷歌浏览器HTTP,但没有在G oogle Chrome? – lucuma 2013-04-22 19:59:27

回答

1

看起来好像一个指令将是你最好的投注在这里,但你基本上可以创建一个指示PARAM看齐本地param标签这样:

module.directive("param", function(){ 
    return { 
    scope: { 
    value: "@", 
    }, 
    link: function(scope, element, attrs){ 
    element.attr("value", scope.value); 
    } 
    } 
}) 
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>