小编Dzm*_*sky的帖子

iOS Safari:打开键盘并禁用主体滚动时不需要的滚动

有一种已知的技术可以在打开模式窗口时禁用页面滚动。

CSS:

html {
  height: 100%;
}

body.disable-scroll {
  position: fixed;
  height: 100%;
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<!DOCTYPE html>
<html>

<head>
    <title>Parcel Sandbox</title>
    <meta charset="UTF-8" />
    <meta content="width=device-width, initial-scale=1.0, user-scalable=no" name="viewport">
</head>

<body class="disable-scroll">
    <div class="page-content">
        <input type="text">
        ... content ...
    </div>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

但是在IOS上,打开虚拟键盘后,Safari滚动启用。而且它滚动的甚至更多window.innerHeight + window.scrollX。页面底部会出现一些空白。 在此处输入图片说明

编辑者的网址
https://codesandbox.io/s/condescending-snow-skuo5?fontsize=14

全屏url以在iPhone上检查
https://skuo5.codesandbox.io/
只需在iPhone或带有IOS 12+的XCode中打开,请尝试滚动,然后将焦点放在“输入”上,然后尝试再次滚动。

html css ios

7
推荐指数
2
解决办法
1044
查看次数

HTML5 视频 MEDIA_ERR_DECODE 随机出现

我正在开发包含 6 个音频和视频元素的项目,这些元素一个接一个地播放。问题前的代码顺序是这样的:

  1. 预加载所有媒体资源直到“canplaythrough”
  2. 播放视频-1
  3. 停止视频 1 并播放音频 1
  4. 停止音频 1 并再次播放视频 1。

然后视频 1 播放 2-3 秒并停止发送错误代码 3(3 = MEDIA_ERR_DECODE - 解码时发生错误)。我试图通过链接播放相同的视频,并且播放正常。

此外,该问题在某些浏览器的某些操作系统上随机发生。例如:

  • Win10最新Opera-出现
  • Win10 最新版 Chrome - 很好
  • MacOS 所有浏览器 - 很好
  • 另一个 MacOS 最新版 Chrome - 发生在 10 个案例中的一个
  • iPhone 所有浏览器 - 很好
  • iPad 所有浏览器 - 很好

更新仅在第一次查看或禁用缓存时才会在 Win10 最新版 Opera 上发生。

更新 2视频编解码器是 H.264,音频编解码器是 AAC,帧率是 24。

html javascript video opera decode

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

如果分支已更新特定目录中的文件,则运行 github 操作

文件结构:

apps
-- app-1
-- app-2
libs
-- lib-1
-- lib-2
Run Code Online (Sandbox Code Playgroud)

我们有一些测试,仅当文件在lib-2. 我尝试过做

on:
  push:
    paths:
      - 'libs/lib-2/**'
Run Code Online (Sandbox Code Playgroud)

但它仅lib-2在提交中推送文件时运行测试,但如果此后推送了其他文件,则它不会运行。想象一下,测试失败了lib-2,然后开发人员已经提交了lib-1下一次提交中的文件,并且测试不会针对之前的更改运行,并且 github 将认为检查成功。

如果某个目录中的文件在分支中发生更改,无论在哪个提交中,是否有办法运行操作?

continuous-integration github github-actions

5
推荐指数
1
解决办法
2716
查看次数

Angular 2路由器混合应用程序:导航后网址恢复回来

每次路线更改都会渲染正确的组件,但路径存在问题。
例如,从 /items 导航到 /add-item 更改和 url 一秒钟,然后恢复它。
无论从哪里开始,到哪里去,它都会发生在每一页上。

导航

<a routerLink="/add-item">Add item</a>
Run Code Online (Sandbox Code Playgroud)

主要app.routes.ts

export const appRoutes: Routes = [{
    path: 'brokers',
    pathMatch: 'full',
    redirectTo: '/'
},
{
    path: 'sellers',
    pathMatch: 'full',
    redirectTo: '/'
},
{
    path: 'buyers',
    pathMatch: 'full',
    redirectTo: '/'
},
{
    data: { name: 'pageNotFound' },
    path: '**',
    redirectTo: '/404'
}];
Run Code Online (Sandbox Code Playgroud)

主页.routes.ts

export const homeRoutes: Routes = [{
    component: HomePageComponent,
    data: { name: 'homePage' },
    path: ''
}
Run Code Online (Sandbox Code Playgroud)

页面未找到.routes.ts

export const pageNotFoundRoutes: Routes = [{
    component: PageNotFoundComponent, …
Run Code Online (Sandbox Code Playgroud)

angular2-routing angular angular-router

2
推荐指数
1
解决办法
782
查看次数

Angular:如何在模板函数中传递布尔异步变量?

我们可以使用 *ngIf 获取异步管道作为变量

<button *ngIf="account$ | async as account" (click)="parseAccount(account)" type="button"></button>
Run Code Online (Sandbox Code Playgroud)

但它当然不适用于布尔值,例如

<button *ngIf="loggedIn$ | async as loggedIn" (click)="checkAuth(loggedIn)" type="button"></button>
Run Code Online (Sandbox Code Playgroud)

因为loggedIn$ | async会发出假的。

是否有任何其他内置方法可以在不使用自定义 ngInit 指令的情况下获取异步值作为模板变量?

templates rxjs angular

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