然后用户点击input type=file用户必须得到upload file + camera对话框.我正在使用这个html属性accept和capture.但在某些现代设备上,这种情况不会发生.下面是代码示例和表,它的工作与否.代码示例在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)
测试设备:
结果表:
我在表单标记中有一个简单的输入字段:
<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输入字段来做.我究竟做错了什么?
我在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) 我无法在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.result在onload函数中使用了.如果我为这个函数使用参数,比如file,我就不能再访问结果了.例如,我想file.name在onload函数中使用.如何解决这个问题?
我正在使用Select2的标签支持我的标签编辑器,我知道你可以通过输入标签添加一个不存在的标签并按下"tab"键
我的问题是:我不希望任何标签包含空格,例如"空格标签",那么有没有办法将"空格"键设置为新的标签触发器?
最近我发现在Safari(6.0.5(8536.30.1),MacOS 10.8.4)中的window.scrollTo行为非常奇怪(在我看来).它似乎异步工作.
我的任务听起来像:
因此,要取消固定此div,我必须在滚动修改完成后执行unpin例程.在这里,我遇到了这个问题.我检查的每个浏览器都能正确执行,除了Safari.
重现步骤:
window.scrollTo(0, 100); console.log(document.body.scrollTop);输出为0.但是当我将此代码更改window.scrollTo(0, 100); window.setTimeout(function() {console.log(document.body.scrollTop)}, 1);为输出为100时,正如预期的那样.
以下是我测试的所有其他浏览器(它工作正常):
好吧,只要我的代码示例不是跨浏览器,就可以使用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之外的所有浏览器的主线程中解析它).
我有这个造型的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表单中应用样式时,边距和右/左部分仍然应用于元素,我不知道如何取消它们(边距没有默认值).
有帮助吗?
尝试从在Internet Explorer和Safari浏览器上绘制SVG图像的画布检索数据URL时,我收到以下错误,而其他人正常工作.
此外,SVG图像包含一些<image>元素,其xlink:href属性设置为从用户的文件系统读取的图像作为数据URL.由于这些图像不在不同的域上,因此在尝试获取绘制SVG图像的画布的dataURL时,我无法想到为什么会抛出此错误.提前致谢.
SECURITY_ERR:DOM异常18:试图突破用户代理的安全策略."
我用这种方式上传文件:
<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中的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 ×7
jquery ×3
html ×2
html5 ×2
safari ×2
android ×1
angularjs ×1
cloud ×1
css ×1
css3 ×1
es6-promise ×1
filereader ×1
hidden-field ×1
ios ×1
mobile ×1
promise ×1
scroll ×1
sql ×1