我正在尝试制作一个将视频的第一帧加载为海报但不自动播放的视频。我需要它在台式机、iPad 和 iPhone 上运行。
桌面:您不需要任何特殊的东西,这会将第一帧加载为海报
<video>
<source src=http://techslides.com/demos/sample-videos/small.mp4 type=video/mp4>
</video>
Run Code Online (Sandbox Code Playgroud)
iPhone:这需要一些技巧,因为在 iPhone 上海报不会自动加载。通过添加“自动播放”,浏览器会加载第一帧作为海报,但如果不添加“静音播放内联”,它实际上不会自动播放
<video autoplay>
<source src=http://techslides.com/demos/sample-videos/small.mp4 type=video/mp4>
</video>
Run Code Online (Sandbox Code Playgroud)
iPad: iPad 的行为与 iPhone 类似,默认情况下不会拉动海报,但如果你像我在 iPhone 上那样添加“自动播放”,它实际上会自动播放,这是我不想要的。
那么,我该如何将视频的第一帧作为海报拉入,而不尝试在加载时自动播放视频呢?
我也尝试过 preload="metadata" 但它不起作用。
我正在尝试创建一个 Lambda 函数,该函数将使用从 PHP 文件传递的尺寸创建空白图像。由于我对 AWS 很陌生,所以我从一个不涉及参数的测试函数开始,只是创建了一个空白的 200x300 图像:
'use strict';
const http = require('http');
const https = require('https');
const querystring = require('querystring');
const AWS = require('aws-sdk');
const S3 = new AWS.S3({
signatureVersion: 'v4',
});
const Sharp = require('sharp');
// set the S3 and API GW endpoints
const BUCKET = 'MY_BUCKET_ID';
exports.handler = (event, context, callback) => {
let request = event.Records[0].cf.request;
Sharp({
create: {
width: 300,
height: 200,
channels: 4,
background: { r: 255, g: 0, b: 0, alpha: …Run Code Online (Sandbox Code Playgroud) 我已经在Azure上阅读了一段时间了,我仍然在思考Azure中三条主要路线之间的差异究竟是什么.网站,VM和云服务.
现在我认为Cloud Services是Paas,并且它为您提供了一个他们负责的预构建VM,您只需将您的Web/worker角色添加到最顶层.他们的VM服务计为Iaas,它允许您上传自己的VM映像,他们不会更新或任何适合您的.最后他们的网站服务是Saas,你基本上只需上传.aspx,他们就会为你做其他事情.
我感到困惑的是,云中不是全部三个(网站,虚拟机和云服务),三个都在虚拟机上运行,三个都在运行或能够运行网站.然后你仍然谈论VM Roles on Cloud Services,这是一个全新的混乱,但我相信它们现在已经被弃用了.
那么就Web角色和工作者角色而言,这些只在云服务"VM"或虚拟机VM上运行,还是两者兼而有之?
所以我只需要一点澄清,似乎他们使用的术语可能只是令人困惑,也许如果他们只是将它们命名为IaaS,Paas,Saas它会不那么令人困惑,或者我错过了什么?
编辑:实际上,我正在读一些网站不是萨斯的地方,但更多的是Paas,有人也可以认识到这一点吗?
给定下面的对象,我正在寻找一种干净有效的方法来从每个项目的“subItems”数组创建一个数组。
const items = [{
'a': 'a1',
'b': 'b1',
'subItems': [
{'c': 'c1'},
{'d': 'd1'}
]
},
{
'e': 'e1',
'subItems': [
{'f': 'f1'},
{'g': 'g1'}
]
}
];
Run Code Online (Sandbox Code Playgroud)
因此对于这个例子,我需要的结果是:
const groupedSubItems = [{c: c1},{d:d1},{f:f1},{g:g1}];
Run Code Online (Sandbox Code Playgroud)
目前,我只是循环并连接所有数组,但这并不是处理此问题的最佳方法:
let groupedSubItems = [];
items.forEach(function(item) {
if (item.subItems) {
groupedSubItems = groupedSubItems.concat(item.subItems);
}
});
Run Code Online (Sandbox Code Playgroud)
注意:所有子项数组将仅向下一级,如图所示,具有相同的键,并且可能存在也可能不存在。
我的页面上有一个引导下拉列表,动态填充而没有敲除数据.标准引导下拉列表是这样的:
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
Dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu">
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
请注意,下拉列表的"标题"将是"下拉列表",带有"克拉"类的跨度将添加朝下的克拉图标,使其看起来像下拉菜单.
问题是当我添加数据绑定以更改选择菜单的标题文本时(为简单起见省略了一些类):
<div>
<button data-bind = "text: MenuTitle">
Dropdown <span class="caret"></span>
</button>
<ul >
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
MenuTitle只是一个带文本的简单ko.observable.
它超越了克拉的跨度.数据绑定按钮的文本如何仍然在其中附加span类克拉?
我正在尝试使用Expo Linear Gradients在我的React Native屏幕中实现从白底到白底的过渡:https : //docs.expo.io/versions/latest/sdk/linear-gradient.html
我复制了第二个示例并将其翻转,并使其变为白色而不是黑色。但是现在白色应该淡入的“透明”颜色比白色更暗,请参见下文:
透明实际上是透明的,所以很好,但是有没有办法给它白色的色调?
代码在这里:
<LinearGradient
colors={[ 'transparent', 'rgba(255,255,255,0.8)']}
style={{
position: 'absolute',
left: 0,
right: 0,
bottom: 0,
height: 200,
}}
/>
Run Code Online (Sandbox Code Playgroud) 我的 React Native(适用于 iOS)照片应用程序中有一个“全部保存”函数,它可以抓取图像数组并将它们传递给CameraRoll.saveToCameraRoll函数。
这是我保存它们的功能:
saveAllToCameraRoll = () => {
for (let image of this.state.downloadList) {
CameraRoll.saveToCameraRoll(image.uri);
}
};
Run Code Online (Sandbox Code Playgroud)
downloadList 是引用存储在 Firebase 存储中的图像的 Firebase 对象数组:
[
-uid1234 : {
uri: "https://firebasestorage.googleapis.com/....",
uploadUser: {
....
}
},
....
]
Run Code Online (Sandbox Code Playgroud)
这一切似乎都有效,并且适用于单个/少数图像,但是如果 downloadList 变得太大(似乎是 11 个图像),它会开始发出警告并且某些图像将无法保存。警告是:
可能未处理的承诺拒绝错误:写忙
并且:
保存裁剪图像时出错:错误域=ALAssetsLibraryErrorDomainCode=-3301“写忙”
看起来很简单,你不能这么快地保存这么多,否则它会冻结,但我找不到关于如何等待它完成一个来开始下一个的文档。
我的 Postgres 数据库中有一个帐户字段,它既有用户名,也有它所属的组织。这些字段一起必须是唯一的,这意味着多个用户可以具有相同的用户名,但同一组织中的多个用户不能具有相同的用户名。
create table account (
user_id serial primary key,
username varchar not null,
password varchar not null,
is_admin bool not null default false,
organization_id int not null references organization(organization_id) on delete cascade,
unique (username, organization_id)
);
Run Code Online (Sandbox Code Playgroud)
在 NodeJs 中使用 Prisma 通过 username+organization_id 查询帐户以获取确切用户时,我使用此查询:
export async function getAccountByUsernameAndOrganization(username, organization_id) {
return runQuery(
prisma.account.findOne({
where: {
username,
organization_id,
},
}),
);
Run Code Online (Sandbox Code Playgroud)
但是,查询失败并显示以下消息:
accountWhereUniqueInput 类型的参数 where 只需要一个参数,但您提供了用户名和组织 ID。请选择一个。可用参数:
type accountWhereUniqueInput {
user_id?: Int
customer_id?: String
organization_id?: Int
account_username_organization_id_key?: Account_username_organization_id_keyCompoundUniqueInput
}
Run Code Online (Sandbox Code Playgroud)
类型 …
我用一个html实体set设置了一个带圆圈的圆形div,div是20px宽和高,并且有一个2px的边框,并且box-sizing: border-box停止增大的大小.
通常,以填补我还设置了圆的圆圈整个DIV font-size和line-height为20px,但由于股利4PX现在是采取与边框我行高设置为16像素.这占垂直居中,但水平居中仍然是关闭.
我怎样才能完美居中?
https://jsfiddle.net/3drve2xn/
div{
border: 2px solid #C15649;
line-height:16px;
font-size:20px;
width:20px;
height:20px;
position: absolute;
top:0;
margin:0;
padding:0;
left:0;
z-index: 1;
text-align: center;
color:black;
border-radius: 50%;
content:"\002B24";
cursor: pointer;
box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)
react-native ×2
amazon-s3 ×1
arrays ×1
aws-lambda ×1
azure ×1
border-box ×1
camera-roll ×1
centering ×1
css ×1
expo ×1
gradient ×1
html ×1
html5-video ×1
javascript ×1
jquery ×1
knockout.js ×1
node.js ×1
php ×1
postgresql ×1
prisma ×1