是否可以简单地将事件侦听器添加到某些元素以检测其高度或宽度是否已被修改?我喜欢这样做而不使用密集的东西:
$(window).resize(function() { ... });
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想绑定到特定元素:
$("#primaryContent p").resize(function() { ... });
Run Code Online (Sandbox Code Playgroud)
似乎在窗口上使用调整大小处理程序是唯一的解决方案,但这感觉有点矫枉过正.它也没有考虑以编程方式修改元素尺寸的情况.
我对meteor.js框架很感兴趣.但是,我不确定我是否可以通过Objective-C的本机对象(如NSURLConnection)利用框架的实时功能.我有一些具体的问题,引用了关于meteorjs如何工作的问题:Meteor JavaScript框架如何工作?
让我们从Web套接字开始:
客户端/服务器消息传递是通过使用socks.js或socket.io之类的websockets完成的.
是否有一个Objective-C库或框架,用于在本机应用程序中使用能够与Meteor服务器通信的websockets?
第二,是mongoDB客户端:
与mongodb的客户端连接非常酷.它将mongo-server驱动程序复制到客户端.不幸的是,最后我检查过,他们仍在努力保护这个数据库连接.
这似乎是流星最有趣的部分.但是,这是否意味着除了在隐藏的UIWebView中执行javascript字符串之外,没有标准的方式与流星服务器进行通信?
我正在尝试构建我的第一个红宝石宝石,似乎一切顺利,直到我试图安装宝石.我正在使用RVM,所以这里不需要'sudo gem install'.
首先,我尝试执行以下操作:
jim:~/Desktop/spectest \ [git:master]
? rake manifest
(in /Users/jim/Desktop/spectest)
Cleaning
- pkg
rm -rf pkg
Building Manifest
Manifest
README
Rakefile
bin/buildcss
...
jim:~/Desktop/spectest \ [git:master]
? rake install
(in /Users/jim/Desktop/spectest)
Cleaning
Gemspec generated
mkdir -p pkg
mkdir -p pkg/css-reader-0.1.0
rm -f pkg/css-reader-0.1.0/Manifest
...
cd pkg
tar zcvf css-reader-0.1.0.tar.gz css-reader-0.1.0
a css-reader-0.1.0
a css-reader-0.1.0/bin
...
cd -
WARNING: description and summary are identical
Successfully built RubyGem
Name: css-reader
Version: 0.1.0
File: css-reader-0.1.0.gem
mv css-reader-0.1.0.gem pkg/css-reader-0.1.0.gem
Private key not …Run Code Online (Sandbox Code Playgroud) 我一直在尝试HTML5视频播放.例如,我在页面上嵌入了这个视频对象:
<video width="480" height="380" class="ecard" tabindex="0">
<source type="video/ogg; codecs="theora, vorbis"" src="videos/1156 In your honor we'll be dancing.ogv"></source>
<source type="video/mp4; codecs="avc1.42E01E, mp4a.40.2"" src="videos/1156 In your honor we'll be dancing.mp4"></source>
</video>
Run Code Online (Sandbox Code Playgroud)
我的问题是视频元素保留了它的宽高比,而我宁愿强制播放适合帧.有谁知道这样做的方法?
我有兴趣在HTML5中构建自定义视频播放器.使用Ogg和h.264的双重格式嵌入html5视频媒体没有问题.我的主要问题是引用视频标记元素的API.我可以通过javascript访问哪些属性和事件监听器?
我现在经常使用CSS过渡,但发现限制只能访问缓入,缓出等.贝塞尔曲线选项似乎允许最大程度的控制,但即使这样也不允许您指定实际的缓动方程会模拟弹性缓和等.是否有另一种选择或是否需要诉诸javascript来执行此类动画?
我正在查看Apple示例代码中Square Cam的一些示例代码.我想在使用ARC的现代项目中复制它的一些功能.但是,有大量的需求声明,例如:
BOOL success = (destination != NULL);
require(success, bail);
Run Code Online (Sandbox Code Playgroud)
这会生成编译器错误:
转到受保护的范围.
我的问题是 - 在使用ARC的项目中处理此类语句的适当方法是什么?
我想在DOM中获取一个元素,然后查找我的CSS文件中的哪些规则有助于它的外观.类似于firebug或webkits检查员所做的事情.有没有办法在JavaScript中执行此操作?
更新:
我应该提供一个约束和一个特定的例子 - 我只对在基于webkit的浏览器中实现这一点感兴趣,因此跨浏览器的困难不是一个问题.我特别想要实现的是这个.假设我有一个样式表如下:
div {
background: #f0f0f0;
}
.example {
padding: 10px;
}
Run Code Online (Sandbox Code Playgroud)
然后让我们说一些像这样的HTML代码:
<div id="test" class="example">
<hgroup>
<h1>Test</h1>
<h2>A sample file to play with.</h2>
</hgroup>
<ul class="sample">
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
那么在javascript中我希望能够有一个函数可以从CSS中找到构造对象的选择器:
get_selectors_for(document.getElementById('test'))
// should return:
// ['div','.example']
Run Code Online (Sandbox Code Playgroud)
知道我们只需要担心webkit而不是所有浏览器,反向查询选择器有多复杂?
我有一个路由器访问其集合.我的for循环没有遍历模型,所以我尝试记录集合以查看它返回的内容.当我直接记录集合时,我看到了所有模型.但是如果我尝试记录集合的models属性,我会得到一个空数组!这没有意义.这些线直接相互跟随.我尝试改变顺序并获得相同的结果.
console.log(this.collection);
=> Shots
_byCid: Object
_byId: Object
length: 15
models: Array[15]
__proto__: Shots
...
console.log(this.collection.models);
=> []
console.log(this.collection.length);
=> 0
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
以下是路由器中的代码,以便更好地了解此代码触发的位置:
# Routers
class Draft.Routers.Shots extends Backbone.Router
routes:
'' : 'index'
'shots/:id' : 'show'
initialize: ->
@collection = new Draft.Collections.Shots()
@collection.fetch()
index: ->
console.log @collection
console.log @collection.models
Run Code Online (Sandbox Code Playgroud) 我在docker容器中有一个简单的hello world express.js应用程序.它设置为在端口8080上运行,并且docker文件在映像中公开此端口.另外,我在运行图像时发布了端口.然而,当我尝试做一个简单的curl请求时,连接被拒绝.以下是我设置此测试的方法:
我的Dockerfile非常简单:
FROM node
ADD ./src /src
WORKDIR /src
# install your application's dependencies
RUN npm install
# replace this with your application's default port
EXPOSE 8080
# replace this with your main "server" script file
CMD [ "node", "server.js" ]
Run Code Online (Sandbox Code Playgroud)
在我的./src目录中,我有一个如下所示的server.js文件:
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello World');
});
var server = app.listen(8080, function() {
console.log('Listening on port %d', server.address().port);
});
Run Code Online (Sandbox Code Playgroud)
以及一个基本的package.json,它看起来像这样:
{ …Run Code Online (Sandbox Code Playgroud)