Javascript angularjs指令中的url无效
我尝试开发自己的angularjs指令,在任何地方显示网络摄像头(twitcam或youtube): 我对show twitcams网络摄像头有问题 我在指令中这样构造url:Javascript angularjs指令中的url无效,javascript,angularjs,Javascript,Angularjs,我尝试开发自己的angularjs指令,在任何地方显示网络摄像头(twitcam或youtube): 我对show twitcams网络摄像头有问题 我在指令中这样构造url: $scope.trustUrl = function(domain, id) { if (domain == 'twitcam') { var urlInjected = 'http://static.livestream.com/grid/LSPlayer.swf?has
$scope.trustUrl = function(domain, id) {
if (domain == 'twitcam') {
var urlInjected = 'http://static.livestream.com/grid/LSPlayer.swf?hash=' + id + '?autoplay=1&autohide=1';
//console.log('url is : ' + urlInjected);
} else if (domain == 'youtube') {
var urlInjected = 'https://www.youtube.com/embed/' + id + '?autoplay=1&autohide=1';
//console.log('url is : ' + urlInjected);
}
var urlFormated = $sce.trustAsResourceUrl(urlInjected);
console.log('urlFormated is : ' + urlFormated);
return $sce.trustAsResourceUrl(urlInjected);
}
以及html:
<object id="twitcamPlayer" width="{{ getWidth(stream_type) }}" height="{{ getHeight(stream_type) }}" classid="{{stream_webcam.webcam_object}}">
<param name="movie" value="{{ trustUrl(stream_webcam.webcam_domain, stream_webcam.webcam_id) }}"/>
<param name="allowScriptAccess" value="always"/>
<param name="allowFullScreen" value="false"/>
<param name="wmode" value="window"/>
<embed name="twitcamPlayer" src="{{ trustUrl(stream_webcam.webcam_domain, stream_webcam.webcam_id) }}" allowFullScreen="false" allowScriptAccess="always" type="application/x-shockwave-flash" bgcolor="#ffffff" width="{{ getWidth(stream_type) }}" height="{{ getHeight(stream_type) }}" wmode="window" ></embed>
</object>
我不明白为什么,但使用twitcam时,url没有正确生成,如下所示:GET domain used.com/%7B%7B%20trustUrl(stream\u webcam.webcam\u domain,%20stream\u webcam.webcam\u id)%20%7D%7D 404(未找到)
我尝试在控制台中显示URL,我可以看到控制台中的差异:
youtube链接下有边框,但没有livestream,所以youtube链接是链接,twticam链接是字符串
其他问题:您可以在console中看到console.log太多,而且重复,这很正常?LiveStream中有两个
?
s,因此是无效链接:http://.../LSPlayer.swf?hash=35453745?autoplay=...
此外,&可能会破坏YouTube和LiveStream中的内容。不,YouTube视频显示正确。当我把http://static.livestream.com/grid/LSPlayer.swf?hash=ge3fb?autoplay=1&自动隐藏=1
手动,很好。这是来自youtube和twitcam的好代码<代码>&
用于html有效。编辑:没错,在livestream链接中,我将第二个?
替换为&代码>,但这只是打字错误,问题甚至存在,没有改变。我想我现在看到问题了。尝试将src=“{{trustUrl(stream\u webcam.webcam\u domain,stream\u webcam.webcam\u id)}}”替换为ng src=“trustUrl(stream\u webcam.webcam\u domain,stream\u webcam.webcam\u id)”
EDIT:此外,每次作用域刷新自身时都会重新运行,因此所有控制台日志都会重新运行。每次更新作用域中的某些内容时,它基本上都会重新评估所有作用域函数。