class PlayerControls extends React.Component {
constructor(props) {
super(props)
this.state = {
loopActive: false,
shuffleActive: false,
}
}
render() {
var shuffleClassName = this.state.toggleActive ? "player-control-icon active" : "player-control-icon"
return (
<div className="player-controls">
<FontAwesome
className="player-control-icon"
name='refresh'
onClick={this.onToggleLoop}
spin={this.state.loopActive}
/>
<FontAwesome
className={shuffleClassName}
name='random'
onClick={this.onToggleShuffle}
/>
</div>
);
}
onToggleLoop(event) {
// "this is undefined??" <--- here
this.setState({loopActive: !this.state.loopActive})
this.props.onToggleLoop()
}
Run Code Online (Sandbox Code Playgroud)
我想loopActive
在切换时更新状态,但是this
在处理程序中未定义对象.根据教程文档,我this
应该参考该组件.我错过了什么吗?
我在尝试将文件上传到S3存储桶时遇到了问题.除了我的文件参数看起来不合适之外,一切都有效.我正在使用Amazon S3 sdk从nodejs上传到s3.
这些是我的路线设置:
var multiparty = require('connect-multiparty'),
multipartyMiddleware = multiparty();
app.route('/api/items/upload').post(multipartyMiddleware, items.upload);
Run Code Online (Sandbox Code Playgroud)
这是items.upload()函数:
exports.upload = function(req, res) {
var file = req.files.file;
var s3bucket = new AWS.S3({params: {Bucket: 'mybucketname'}});
s3bucket.createBucket(function() {
var params = {
Key: file.name,
Body: file
};
s3bucket.upload(params, function(err, data) {
console.log("PRINT FILE:", file);
if (err) {
console.log('ERROR MSG: ', err);
} else {
console.log('Successfully uploaded data');
}
});
});
};
Run Code Online (Sandbox Code Playgroud)
将Body
param 设置为字符串就"hello"
可以了.根据doc,Body
param必须采用 (Buffer,Typed Array,Blob,String,ReadableStream)对象数据.但是,上载文件对象失败,并显示以下错误消息:
[Error: Unsupported …
Run Code Online (Sandbox Code Playgroud) 有没有简单的方法从firebase控制台删除所有注册用户?例如,我从我的开发环境创建了一百个用户,现在我想删除所有用户.
YouTube数据API是否仍然不支持此功能?我已经试图找到一种方式已经超过几个月了,并且似乎没有一种可靠的方法来检索可以绝对播放的视频列表而不受某些设备的限制.来自参与团队的人的回答将非常感激.
Youtube API:可在移动设备上播放的搜索视频可能是相关的,但我怀疑这种方法是否可用于解决"内容拥有者禁止在此平台上播放此视频"类型的限制.
更新: 2015年11月7日,仍然无法过滤可在移动设备上播放的视频.更具体地说,我想使用YouTube数据api v3找到可在嵌入式iFrame(例如iOS帮助程序库)上播放的视频.此处列出了搜索查询的可用参数.
<iframe width="560" height="315" src="//www.youtube.com/embed/M7lc1UVf-VE" frameborder="0" allowfullscreen></iframe>
关于使用上述源代码嵌入YouTube视频时会发生什么,我有几个问题.该代码应生成一个YouTube播放器对象,以用户喜欢的方式处理视频.当我使用Youtube Player API(而不是使用嵌入代码)自己生成Youtube播放器时,我可以在其上调用调用函数.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
//player.playVideo(); will play the video.
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何控制嵌入代码生成的播放器对象?换句话说,从http://www.youtube.com/watch?v=M7lc1UVf-VE页面,如何通过调用来播放视频SOMEPlayer.playVideo()
?当你转到网址时,ytplayer
对象可用,但它似乎不包含必要的功能.
这个问题可能与此重复.
是否可以免费在Heroku上运行延迟的工作?
我正试图delayed_job_active_record
在Heroku 上使用.然而,它需要一个worker dyno
,如果我把这个dyno打开全职,它会花钱.
我认为使用Unicorn并使其工作人员延迟工作而不是Heroku工作人员,在成功运行所有工作的同时不会花费任何成本.但是,Unicorn工作人员似乎并没有自动开始"工作".
我的Procfile中有以下内容.
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)
和我的unicorn.rb中的以下内容
worker_processes 3
timeout 30
preload_app true
before_fork do |server, worker|
# Replace with MongoDB or whatever
if defined?(ActiveRecord::Base)
ActiveRecord::Base.connection.disconnect!
Rails.logger.info('Disconnected from ActiveRecord')
end
# If you are using Redis but not Resque, change this
if defined?(Resque)
Resque.redis.quit
Rails.logger.info('Disconnected from Redis')
end
sleep 1
end
after_fork do |server, worker|
# …
Run Code Online (Sandbox Code Playgroud) 你何时应该使用Session
和ReactiveVar
?我使用Session
变量作为组件之间的通信媒介.我们来看看Stackoverflow.
我标记了三个假设的组成部分.我们来看看filters
组件.如果单击,Tags
则Main
组件将根据您最喜欢的标签显示其问题.为此,我将Session.set("Main/showTags", true)
在Tags
单击按钮时进行设置.在Main组件中,我将有一个如下的辅助函数:
Template.Main.helpers({
posts: function() {
var isTags = Session.get("Main/showTags");
var isQuestions = Session.get("Main/showQuestions");
...
if (isTags) {
return Posts.find().sort({tags: 1}) // or something along the lines
} else if (isQuestions) ...
}
});
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下运作良好,但我从许多地方看到我应该避免使用Session
和使用ReactiveVar
.但如果我ReactiveVar
到处使用,那么我需要对所有模板实例的引用.我希望它在直接父模板和子模板之间运行良好(例如,在主要组件内部,可能会有VoteAnswerViewsButtonTemplate
),但是ReactiveVar
当你想要独立组件相互通信时,你会怎么做?
这是我的最后一个问题.如何正确使用Session
和ReactiveVar
保持组件的范围并使它们彼此通信?另外,如果我使用Session
现在的方式,我是否不必要地污染全局命名空间?
相关文件:
UIWebView可以使用以下内容:
[webView setKeyboardDisplayRequiresUserAction:NO]
Call some JS function
Run Code Online (Sandbox Code Playgroud)
WKWebView
相反,如何在webview中执行相同的操作?
这是我使用的一个参考,它解释了如何使div的滚动条隐藏可滚动.唯一的区别是我有嵌套的div.检查我的小提琴
HTML:
<div id="main">
<div id="sub-main">
<div id="content">
<div id="item-container">
<div class="item">a</div>
<div class="item">b</div>
<div class="item">c</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#main {
width: 500px;
height: 500px;
}
#sub-main {
width: 500px;
height: 500px;
overflow: hidden;
}
#content {
background-color: red;
width: 500px;
height: 500px;
overflow: auto;
}
#item-container {
width: 1500px;
height: 500px;
}
.item {
width: 500px;
height: 500px;
font-size: 25em;
text-align: center;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
像上面一样,我有一个溢出的水平div,我想隐藏它的滚动条.我必须使它仍然可滚动,$.scrollTo()
否则将无法工作.
更新:
我已经阅读了所有的答案,但我仍然没有解决我的问题,也不知道是什么导致了它.这是有麻烦的生活.基本上,我试图遵循这几乎完全相同,但必须有一些原因,我的网站没有按预期工作.有两个问题.
overflow: hidden …
有没有办法捕获从我的应用程序发送的所有HTTP请求,并在发送之前修改它们的标头?我想修改它们的referer
标题,以便发送请求的服务器认为它们来自Web浏览器而不是移动应用程序.谢谢!
更新:为了给您更多上下文,我打算使用Phonegap 将Chrome扩展程序Instant Music移植到Android应用程序中.一些允许在PC上播放的YouTube视频不允许在手机上播放,我怀疑这是因为嵌入在Android应用中的youtube播放器没有引用标头.我正在尝试找到解决此问题的方法,以便我也可以在移动设备上播放此类视频.