小编ari*_*hie的帖子

使用jQuery Mobile和Phonegap进行视频播放

我对移动应用程序还不熟悉,所以我试图使用Phonegap和jQuery Mobile来打造一个简单的视频播放器.问题是,jQuery mobile出于某种原因似乎阻止了视频播放.

为了排除故障,我将其剥离回到以下HTML,但获得相同的结果,即视频应该是黑色矩形,但没有视频播放或控件.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1"/>
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <link rel="stylesheet" href="css/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="cordova-2.2.0.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script src="js/jquery-1.8.3.min.js"></script>
    <script src="js/jquery.mobile-1.2.0.js"></script>
    <title></title>
</head>
<body>
    <div>
        <video controls autoplay>
            <source src="video/video1.mp4" type="video/mp4" >
        </video>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我删除了jquery.mobile-1.2.0.js的链接,视频会显示并播放,否则只会显示黑色矩形.

我根本不知道jQuery mobile,但是在js中搜索视频元素的引用并没有显示出来,所以我不知道阻塞它的是什么.

该代码在Chrome和Firefox中运行良好.Xcode中没有控制台消息.我也尝试连接到http://debug.phonegap.com/,但这也没有给出任何错误消息.

有任何想法吗??

html5-video jquery-mobile cordova

5
推荐指数
1
解决办法
947
查看次数

如何让Angularjs中的控制器刷新?

我正在为一个应用程序使用Ionic Framework,并坚持一个部分.在我的应用程序中,我有一个收藏夹视图,其中显示了用户在应用程序中其他地方喜欢的项目列表.问题是,控制器中的代码仅在第一次点击收藏夹路由时运行.如果用户然后在应用程序中的其他位置添加收藏夹,然后返回"收藏夹"视图,则不会重新生成列表.

在我的控制器中,我有以下内容:

Favourites.all().then(function(results){
    angular.forEach(results, function(value, key){
        // add results to an array to present in the view
    })
})
Run Code Online (Sandbox Code Playgroud)

我有一个工厂,负责数据库查询:

.factory('Favourites', function(DB){
    var self=this;
    console.log("test 1");

    self.all = function() {
        return DB.query('SELECT * FROM favourites')
            .then(function(result){
                return DB.fetchAll(result);
            });
    };
    return self;
})
Run Code Online (Sandbox Code Playgroud)

我的问题是,在用户将新收藏夹添加到数据库后,如何让收藏夹控制器刷新?我尝试将范围重新加载函数添加到控制器,并且还将reload:true添加到路由的$ stateProvider,但两者都没有任何区别.

angularjs ionic-framework

5
推荐指数
1
解决办法
8862
查看次数

iOS核心数据错误 - 多对多关系的值不可接受

我正在用这个问题撕掉我的头发,这看起来应该是非常简单的事情.iOS/Objective C对我来说是新的,所以也许我只是没有掌握一些基本的东西.

问题是我在Core Data模型中添加了一个新实体,并建立了一对多的关系.该模型已经有两个具有一对一关系的实体.

核心数据模型

玩家实体是新实体.

我有一个UITableViewController,我将保存到UITextFields的属性.这适用于Teams/TeamDetails的原始配置,但当我将Players实体添加到代码时,它会因以下错误而崩溃:

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason:   'Unacceptable type of value for to-many relationship: 
property = "playerDetails"; desired type = NSSet; given type = Players;
Run Code Online (Sandbox Code Playgroud)

所以,在我的Save方法中,我有:

Teams *team = [NSEntityDescription insertNewObjectForEntityForName:@"Teams" inManagedObjectContext:self.managedObjectContext];
TeamDetails *teamdetails = [NSEntityDescription insertNewObjectForEntityForName:@"TeamDetails" inManagedObjectContext:self.managedObjectContext];

team.teamDetails = teamdetails;
Run Code Online (Sandbox Code Playgroud)

然后我继续设置如下属性:

team.teamName = teamNameTextField.text;
team.teamDetails.managerName = managerNameTextField.text;
Run Code Online (Sandbox Code Playgroud)

这一切都没有问题.现在我扩展这个以包含玩家实体:

Players *playerDetails = [NSEntityDescription insertNewObjectForEntityForName:@"Players" inManagedObjectContext:self.managedObjectContext];

team.playerDetails = playerDetails;
Run Code Online (Sandbox Code Playgroud)

我得到上面的错误.我尝试过以下方法:

[team setPlayerDetails:playerDetails];
Run Code Online (Sandbox Code Playgroud)

但这没有任何区别.我也尝试过:

NSSet *playerDetails = [NSEntityDescription insertNewObjectForEntityForName:@"Players" inManagedObjectContext:self.managedObjectContext];
Run Code Online (Sandbox Code Playgroud)

但同样,没有区别 - 它仍然认为它是一个类型玩家而不是NSSet的对象.

我觉得我只是没有抓住简单的东西,所以任何帮助都会非常感激!

core-data objective-c ios

3
推荐指数
1
解决办法
4693
查看次数