小编pes*_*tov的帖子

如何从主屏幕中删除图标后,为渐进式网络应用程序带回"添加到主页"横幅?

原因 - 我做了一个Progressive web app,在浏览器中打开 - 一切都很好,浏览器让我把它添加到主屏幕.

现在,我想在演示文稿中演示这一点,所以 - 从主屏幕中删除了图标.但是在最后一整天,我一直在使用镀铬网站,并且横幅永远不会出现.

它真的是千载难逢的事吗?或者我需要做些什么?

progressive-web-apps

15
推荐指数
2
解决办法
4781
查看次数

Angular:当从 8 更新到 9 时-hammerjs + @angular/platform-b​​rowser 停止工作

我正在使用hammerjs 来检测小型Angular 8 应用程序上的滑动。

我关注了这篇文章 - https://medium.com/angular-in-depth/gestures-in-an-angular-application-dde71804c0d0 - 我将hammerjs与@angular/platform-b​​rowser一起使用。

然而,当 3 天前 Angular 9 发布时 - 我更新没有问题,但现在刷卡检测根本不起作用:( ...没有看到错误或警告。另外 - 没有看到任何平台注释 -更新发行说明中的​​浏览器更改。

任何想法出了什么问题以及如何解决它?

hammer.js angular

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

如何查看目录大小?

有没有办法用 Rust 检查文件夹的大小?

我没有看到提到这样的方法。我可以通过调用 shell 命令来完成此操作,但如果可能的话,我更愿意避免这种情况。

rust

8
推荐指数
2
解决办法
4393
查看次数

使用 redux-saga 修改后端响应的最佳位置在哪里?

我有一个函数可以从后端准备错误,以便于在组件中显示 - 它被命名为prepareErrorMessages. 它接受来自后端的响应和一些默认的错误消息。

所以 - 在传奇中我有这个:

function* updateSomethingFlow(action) {
  try {
    const response = yield call(updateSomething, action.payload);
    if (response) {
      yield put({
        type: UPDATE_SUCCESS
      });
    }
  } catch (err) {    
    yield put({
      type: UPDATE_FAILURE,
      payload: prepareErrorMessages(err, 'Failed to update. Please, try again.')
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

那么 - 我在这里从后端修改错误是错误的吗?

或者在减速机中这样做更好?

case UPDATE_FAILURE:
  nextState = {
    ...state,
    loading: false,
    errors: prepareErrorMessages(payload, 'Failed to update. Please, try again.'),
  };
break;
Run Code Online (Sandbox Code Playgroud)

而且 - 为什么在那里更新更好?

redux redux-saga

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

如何用条件进行对象解构?

所以我有:

// some function that returns two arrays ..
getArrays() {
  return {
    arr1: [...],
    arr2: [...]
  };
}

// and then ..
let arr1 = [];
let arr2 = [];
if (someCondition) {
  { arr1, arr2 } = getArrays();
}

// here we expect arrays, even if they are empty ..
Run Code Online (Sandbox Code Playgroud)

当然,这会引发错误.这甚至可能吗?

PS:我可以使用默认值并直接调用该函数,但仍然 - 我认为它应该是可能的.

javascript destructuring ecmascript-6

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

定向媒体查询无法在iPad mini上运行

这个小HTML代码非常清楚地代表了我的HTML5页面.

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Pebble Go</title>
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
    </head>
    <body>
        <style>
            @media only screen and (orientation: portrait) {
                html, body {
                    background: #222;
                }
            }
            @media only screen and (orientation: landscape) {
                html, body {
                    background: #000;
                }
            }
        </style>
    </body>  
</html>
Run Code Online (Sandbox Code Playgroud)

因此,在桌面浏览器,Android桌面和手机上 - 它运行良好.但在iPad mini上 - 它不是!...结果是 - 背景总是灰色的.所以我的问题是:

为什么这个媒体查询无法在iPad mini上运行...... ??? ...

PS:我知道我也必须使用max-device-width属性,但我有一个很大的理由不去做!...

这个页面的要求是100%宽和高,我决定:

  1. 制作横向模式的默认CSS规则;
  2. 在横向模式下定义不同宽度的规则;
  3. 定义肖像变体,主要依赖于"orientation:portrait",并定义不同的宽度.

我做到了!它的工作原理!...除了迷你iPad!...如果我使用max-device-width或类似的东西 - 那么我将处于一种情况,我将不得不为景观编写不同的规则 - 不同的宽度,纵向模式 - 不同的宽度,然后移动设备 - …

css media ipad

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

Angular2:如何一次发出几个GET请求

使用promise JS库(https://github.com/stackp/promisejs),我可以这样做:

promise.join([
    promise.get('/settings'),
    promise.get('/translations'),
    promise.get('/main-data')
]).then(function(results) {
    console.log(results);
});
Run Code Online (Sandbox Code Playgroud)

现在我需要使用Angular2来做到这一点.所以我做了一个有方法的服务getSettings,getTranslations等等-但我怎么join他们在使用该服务的组成部分?

(并以这样的方式加入它们,当且仅当所有请求都完成时 - 我将运行一个使用所有响应的功能?)

ajax http promise angular

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

将自定义数据传递给 Service Worker 同步?

我需要发出 POST 请求并发送一些数据。我正在使用服务工作者sync来处理离线情况。

但是有没有办法将 POST 数据传递给 service worker,让它再次发出相同的请求?

显然,当前的解决方案是将请求存储在某个客户端存储中,并且在客户端获得连接后 - 从存储中获取请求信息,然后发送它们。

还有更优雅的方式吗?

PS:我想过让服务工作者向应用程序代码发送消息,以便再次执行请求……但不幸的是,它不知道注册服务工作者的确切客户端:(

service-worker background-sync

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

Selenium 与 JavaScript 和 Nodejs:如何计算页面上的元素?

我正在尝试将 Selenium 与 Javascript (NodeJS) 一起使用,我需要通过 CSS 选择器来计算一些元素。

我尝试了几种方法:

client.findElements(By.css(".some-class")).size();
Run Code Online (Sandbox Code Playgroud)

它给了我: Uncaught TypeError: client.findElements(...).size is not a function

client.findElements(By.css(".some-class")).Count();
Run Code Online (Sandbox Code Playgroud)

它给了我: Uncaught TypeError: client.findElements(...).size is not a function

client.findElements(By.css(".some-class")).length;
Run Code Online (Sandbox Code Playgroud)

这里length总是未定义的。

我错过了什么?

提前致谢。

javascript node.js selenium-webdriver

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

监视从componentDidMount调用的组件方法时,永远不会调用该间谍

在React组件中,我有

export default class MyComp extends Component {
  ...
  componentDidMount() {
    this.customFunc();
  }
  customFunc = () => {
    // ..
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

当我尝试像这样用Jest和Enzyme测试这种方法时:

it('Should call customFunc on mount', () => {
  const MyCompInstance = mount(<MyComp {...props} >).instance();
  const spy = jest.spyOn(MyCompInstance, 'customFunc');

  expect(spy).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)

它失败了 Expected mock function to have been called, but it was not called.

有趣的是,如果我把console.log()componentDidMount和中custsomFunc-它们被调用。我究竟做错了什么?

PS:我forceUpdate在实例上尝试了该实例,就在期望值之前,但是仍然遇到相同的错误。

reactjs jestjs enzyme

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