我想在我的网页上添加基本的Chromecast功能。我陷入了第二步。我可以初始化Chromecast,但当用户点击Chromecast按钮时,我无法打开接收器选择器。我偶尔会遇到这个错误:
{
code: "session_error"
description: null
details: null
}
我尝试使用与here相同的代码。这段代码适合我,但是当我将它集成到我的页面时,它却没有。 是否有可能Chrome无法检测到用户互动发生了,这就是为什么它不起作用? 任何其他想法我该如何解决这个问题?
修改
我尝试了多个带有Google默认接收器应用ID的Chrome演员设备,但它无法正常工作。这些设备使用链接的源页面。
如果在不同的JS文件中处理click事件会导致麻烦吗?如果从其他域加载怎么办?我在文档中找不到任何提示。
答案 0 :(得分:1)
最后,我们找到了<html ng-app='myApp'>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.js"></script>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.factory('userService',['$timeout', function($timeout){
var user = {}
$timeout(function(){
user.name = 'Username';
},5000);
return user;
}])
app.controller('c1', ['$scope', 'userService','$timeout', function($scope, userService,$timeout){
$scope.user={};
$timeout(function(){
$scope.user.name = userService.name;
},5000);
}])
app.controller('c2', ['$scope', 'userService', function($scope, userService){
$scope.user = userService;
}])
</script>
<body>
<div ng-controller="c1"><h1>{{user.name}}</h1></div>
<div ng-controller="c2"><input type="text" ng-model="user.name"/>
<span>{{user.name}}</span>
</div>
</body>
</html>
的原因。在onClick事件中有一个异步调用,我们在之后尝试session_error
。
当然,只需直接用户操作,Chromecast API就不允许这样做。
答案 1 :(得分:0)
根据Ali Nadaff的说法SO post:
检查这些;希望他们能够解决问题: