小编Pin*_*nal的帖子

具有捕获和接受属性的HTML文件输入控件是否有效?

我的问题:

然后用户点击input type=file用户必须得到upload file + camera对话框.我正在使用这个html属性acceptcapture.但在某些现代设备上,这种情况不会发生.下面是代码示例和表,它的工作与否.代码示例在Mobile Safari和中进行测试Chrome.

TL; DR:

我有5个代码示例input type file:

1.(jsfiddle)

<input type="file" accept="image/*" capture>
Run Code Online (Sandbox Code Playgroud)

2.(jsfiddle)

<input type="file" accept="image/*" capture="camera">
Run Code Online (Sandbox Code Playgroud)

3.(jsfiddle)

<input type="file" capture="camera">
Run Code Online (Sandbox Code Playgroud)

4.(jsfiddle)

<input type="file" capture>
Run Code Online (Sandbox Code Playgroud)

5.(jsfiddle)

<input type="file" accept="image/*">
Run Code Online (Sandbox Code Playgroud)

测试设备:

  • 三星S3(Android 4.1.2)
  • 三星S3(Android 4.3)
  • 三星Galaxy Tab 2 7.0(Android 4.2.2)
  • 三星Note(Android 4.1.2)
  • iPhone 5(iOS 7.0.4)
  • Nexus 4(Android 4.4)

结果表:

  • W(ork) - 表示已启用 …

html mobile html5 android ios

69
推荐指数
3
解决办法
8万
查看次数

无法使用jQuery设置隐藏的输入字段的值

我在表单标记中有一个简单的输入字段:

<body>
  <form action="#">
      <label>Input</label>
      <input type="hidden" id="foo" name="foo" />

  </form>
</body>
Run Code Online (Sandbox Code Playgroud)

我试图从js文件中设置此值:

$(document).ready(function(){
    $('#foo').val('foo')
})
Run Code Online (Sandbox Code Playgroud)

但是在html源代码中,根本没有设置该属性.如果我尝试将输入类型设置为"按钮"或其他任何东西,它就可以工作.我只是不能用hidden输入字段来做.我究竟做错了什么?

jquery hidden-field

34
推荐指数
3
解决办法
10万
查看次数

解析云代码关系查询语法

我在Parse上有一个云函数.当它被调用时,它会检索一个PFObject然后在该对象和用户之间添加关系.这部分工作正常(见功能结束).我无法获取选择PFObject忽略用户已经关联的查询的查询

这是我的代码:

Parse.Cloud.define("NextMedia", function (request, response) {

    var LikeRequest = Parse.Object.extend("LikeRequest");
    var query = new Parse.Query(LikeRequest);

    query.equalTo("completed", false);
    console.log("user: " + Parse.User.current().id);

    query.notEqualTo("user", Parse.User.current());

    // Also only fetch if never been sent before 
    // HERE SHOULD USE THE BELOW RELATIONSHIP
    var innerQuery = new Parse.Query(Parse.User);
    innerQuery.exists(Parse.User);
    query.matchesQuery("sentTo", innerQuery);

    query.ascending("createdAt");

    query.first({

        success: function (object) {
            // Successfully retrieved the object.
            console.log("Got 1 object: " + object.get('mediaId'));

            // Record that the user has been sent it …
Run Code Online (Sandbox Code Playgroud)

javascript sql cloud parse-platform

33
推荐指数
1
解决办法
2551
查看次数

FileReader onload with result和parameter

我无法在onload函数中同时获得filereader和一些参数的结果.这是我的代码:

控制HTML:

<input type="file" id="files_input" multiple/>
Run Code Online (Sandbox Code Playgroud)

Javascript功能:

function openFiles(evt){
    var files = evt.target.files;
    for (var i = 0; i < files.length; i++) {
      var file=files[i];
      reader = new FileReader();
      reader.onload = function(){
          var data = $.csv.toArrays(this.result,{separator:'\t'});
      };
      reader.readAsText(file);
    }
  }
Run Code Online (Sandbox Code Playgroud)

添加活动:

 files_input.addEventListener("change", openFiles, false);
Run Code Online (Sandbox Code Playgroud)

filereader.resultonload函数中使用了.如果我为这个函数使用参数,比如file,我就不能再访问结果了.例如,我想file.name在onload函数中使用.如何解决这个问题?

javascript filereader

20
推荐指数
3
解决办法
4万
查看次数

如何更改Select2默认新标签键"tab"到"space"?

我正在使用Select2的标签支持我的标签编辑器,我知道你可以通过输入标签添加一个不存在的标签并按下"tab"键

我的问题是:我不希望任何标签包含空格,例如"空格标签",那么有没有办法将"空格"键设置为新的标签触发器?

javascript jquery jquery-select2

11
推荐指数
1
解决办法
5422
查看次数

window.scrollTo在Safari中异步工作吗?

最近我发现在Safari(6.0.5(8536.30.1),MacOS 10.8.4)中的window.scrollTo行为非常奇怪(在我看来).它似乎异步工作.

我的任务听起来像:

  • 使一些绝对定位的div固定(固定)
  • 做一些页面滚动
  • 使之前修改过的div绝对定位(取消固定)

因此,要取消固定此div,我必须在滚动修改完成后执行unpin例程.在这里,我遇到了这个问题.我检查的每个浏览器都能正确执行,除了Safari.

重现步骤:

  1. 在Safari中打开任何网页,并确保它至少可滚动100px,并且它的初始滚动偏移为0
  2. 在开发工具中打开js控制台
  3. 执行: window.scrollTo(0, 100); console.log(document.body.scrollTop);

输出为0.但是当我将此代码更改window.scrollTo(0, 100); window.setTimeout(function() {console.log(document.body.scrollTop)}, 1);为输出为100时,正如预期的那样.

以下是我测试的所有其他浏览器(它工作正常):

  • Chrome 27.0.1453.110(MacOS 10.8.4)
  • Firefox 21.0(MacOS 10.8.4)
  • Opera 12.15 b1748(MacOS 10.8.4)
  • IE 8.0.7601.17514(Win7)

好吧,只要我的代码示例不是跨浏览器,就可以使用jQuery在任何网页上检查此行为更容易:

var $w = $(window); 
$w.scrollTop(100); 
console.log($w.scrollTop());
Run Code Online (Sandbox Code Playgroud)

VS

var $w = $(window); 
$w.scrollTop(100); 
window.setTimeout(function() {
    console.log($w.scrollTop())
}, 1);
Run Code Online (Sandbox Code Playgroud)

这种行为是好的还是一个bug?怎么处理?(现在我修改$.fn.scrollTop为返回$.Deferred而不是链接并立即在除Safari之外的所有浏览器的主线程中解析它).

javascript safari scroll

10
推荐指数
1
解决办法
2397
查看次数

如何在CSS中覆盖边距和右/左?

我有这个造型的div:

#slogan{
    font-size:24px;
    position:absolute;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
}
Run Code Online (Sandbox Code Playgroud)

后4种样式只是将div内容集中在页面上.

如果页面太大,我不想再使用以下样式了,所以我应用这种样式:

@media only screen and (min-width: 941px){
    #slogan {
        font-size: 24px;
        position: absolute;
        min-width: 810px;
        text-align: right;
    }
}
Run Code Online (Sandbox Code Playgroud)

从页面左边缘显示一定量的内容.我在f12开发工具中测试了这些样式,看起来是正确的.但是,当我在css表单中应用样式时,边距和右/左部分仍然应用于元素,我不知道如何取消它们(边距没有默认值).

有帮助吗?

html css css3

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

SECURITY_ERR:DOM异常18在调用Canvas的toDataURL方法时

尝试从在Internet Explorer和Safari浏览器上绘制SVG图像的画布检索数据URL时,我收到以下错误,而其他人正常工作.

此外,SVG图像包含一些<image>元素,其xlink:href属性设置为从用户的文件系统读取的图像作为数据URL.由于这些图像不在不同的域上,因此在尝试获取绘制SVG图像的画布的dataURL时,我无法想到为什么会抛出此错误.提前致谢.

SECURITY_ERR:DOM异常18:试图突破用户代理的安全策略."

javascript safari html5 internet-explorer mobile-safari

8
推荐指数
1
解决办法
2451
查看次数

Angular IE9 fileupload无法正常工作

我用这种方式上传文件:

  <input type="file" 
         name="upload-file" 
         ng-model= "excelFile" 
         accept=".xlsx" 
         onchange="angular.element(this).scope().fileChanged(this);"
         required="true" 
  />
Run Code Online (Sandbox Code Playgroud)

在控制器中创建fileChanged方法

 $scope.fileChanged = function(files) {
     $scope.excelFile = files[0];
 };
Run Code Online (Sandbox Code Playgroud)

它适用于FireFox,Chrome IE10,IE11,但在IE9中它显示"文件为null我们未定义".

javascript internet-explorer angularjs

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

ECMAScript Promise.all方法适用于jQuery.Deferred.为什么?

我正在研究JavaScript中的Promises.我很有兴趣将ECMAScript Promises与其他实现结合起来,例如jQuery $.Deferred.当Promises.alljQuery工作正常时,我感到很惊讶$.Deferred.我试图在jQuery源代码和CommonJS Promises/A规范中找到答案,但我仍然误解了为什么这段代码按照我的预期工作(console.log10秒后做,不是5秒):

var promise = new Promise(function (resolve, reject) {
    setTimeout(function () { 
        resolve();//resolve first promise after 5 secs
        console.log('Promise resolved');
    }, 5000);
});

var deferred = $.Deferred();
setTimeout(function () { 
    deferred.resolve();//resolve after 10 seconds
    console.log('Deferred resolved');
}, 10000);

Promise.all([promise,deferred]).then(function () {
    console.log('All is done');//log after 10 seconds
});
Run Code Online (Sandbox Code Playgroud)

你有什么想法?

Promise.all必须依靠某些领域或方法$.Deferred来理解是否解决了.那个方法/领域是什么?

javascript jquery promise jquery-deferred es6-promise

6
推荐指数
1
解决办法
1116
查看次数