小编Zar*_*rel的帖子

在Google Chrome/Chromium和Safari中拖放文件上传?

拖放文件上传可以在Firefox 3.6中完成.

谷歌搜索html5拖放文件上传-gmail提供的内容如下:

所有这些指南都使用FileReader(或者Firefox 3.6已被弃用getAsBinary,其他浏览器也不支持).

但是,谷歌最近发布了一个Gmail更新,允许在Chromium和Firefox中上传文件,而Chromium则没有FileReader.我每晚都在使用最新的Chromium,它可以拖放上传文件,但不支持FileReader.

我见过有人提到可以通过拖动到拖放上传来实现拖放上传<input type="file" />,但是一次只能支持一个文件,而Gmail的上传器可以处理拖动到它上面的多个文件,所以这显然不是它们的内容这样做.

所以问题是,他们是如何做到的?你如何支持Chromium进行HTML5文件上传?另外,你能支持Safari吗?

javascript ajax html5

68
推荐指数
3
解决办法
7万
查看次数

为什么javascript的排序功能不能正常工作?

这个简单的javascript

var x = new Array();
x[0] = 2.73;
x[1] = 11.17;
x[2] = 3.12
x.sort();

for(var i in x)
    alert(x[i]);
Run Code Online (Sandbox Code Playgroud)

产生结果: 11.17, 2.73, 3.12而不是2.73, 3.12, 11.17.

为什么这样,我该如何解决?

提前致谢!

javascript arrays sorting

12
推荐指数
3
解决办法
2万
查看次数

如何安全地读取WebScriptObject的属性?

WebView实例中的WebViewDelegateJavaScript 与a 之间进行通信时,JavaScript类型和Objective-C类型会来回转换.例如,当从JavaScript调用Objective-C函数时,字符串变为a NSString,数字变为a NSNumber,而Object变为a WebScriptObject.

其他的很简单,但WebScriptObject似乎很奇怪.

当传递类似的字典时{"foo": 1, "bar": 2},我看到的大多数代码都使用提取属性valueForKey,例如in[[arg valueForKey:@"foo"] intValue] == 1

但是如果你不确定该物业是否存在呢?如果键是可选的怎么办?[arg valueForKey:@"baz"]抛出一个例外.

我能做的一件事就是

@try {
  foo = [[arg valueForKey:@"baz"] intValue];
}
@catch (NSException* e) {
  foo = 0;
}
Run Code Online (Sandbox Code Playgroud)

但是我听说Objective-C中的例外是不安全的,不应该用于流量控制.

我能想到的另一种方法是这里使用的方法的一些变化:http://edotprintstacktrace.blogspot.com/2011/10/sample-webscriptobject-javascript.html

换句话说:1.用于evaluateWebScript定义实现的JavaScript函数Object.keys2.在您的WebScriptObject3. 上调用该函数迭代返回的键数组,并且只有valueForKey在找到匹配项时才调用.

对我来说,这看起来非常低效.必须有更好的方式......有吗?

javascript webkit objective-c webview

7
推荐指数
1
解决办法
969
查看次数

标签 统计

javascript ×3

ajax ×1

arrays ×1

html5 ×1

objective-c ×1

sorting ×1

webkit ×1

webview ×1