小编Phi*_*ren的帖子

如何在Google Chrome中模拟捏缩放?

我正在为用javascript编写的移动应用程序开发一个缩放缩放功能,我想在Google Chrome中使用移动设备模拟功能对其进行测试.但我找不到测试捏手势的方法.

我尝试了在互联网上找到的所有东西(按住Shift并移动鼠标,按下Alt并移动鼠标),但这些都没有效果.Google Chrome中是否存在"原生"方式来模拟缩放缩放手势?

顺便说一下,我使用的是MacO版Google Chrome版本59.0.3071.86

google-chrome google-chrome-devtools

37
推荐指数
6
解决办法
3万
查看次数

如何从Phoenix Controller向频道广播消息?

有没有办法从该频道外部向频道广播消息?

也许是这样的Channel.broadcast topic, event, data

我在这里看到了类似的东西但是Phoenix.Channel.broadcast/3(截至今天)的最终版本采用了一个隐含通道和主题的套接字.

channel elixir phoenix-framework

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

如何检测用户是否因网络断开而离开Phoenix通道?

我有一个Elixir/Phoenix服务器应用程序,客户端通过websockets通过内置通道系统连接.现在我想检测用户何时离开频道.

旁注:我正在使用Google Chrome扩展程序中的javascript客户端库.为此,我从Phoenix中提取了ES6代码,将其转换为javascript,并稍微调整一下,使其独立运行.

现在当我关闭弹出窗口时,服务器立即触发该terminate/2功能reason = {:shutdown, :closed}.扩展端没有任何关闭回调,所以这很棒!

但是,当客户端只是失去网络连接(我连接第二台计算机,只是拉出网络插头),然后terminate/2将不会触发.

为什么以及如何解决此问题?

我玩了timeout选择,transport :websocket, Phoenix.Transports.WebSocket但这没有成功.

更新: 使用新的真棒凤凰1.2的Presence东西,这不再需要了.

elixir websocket channels phoenix-framework

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

AWS-Amplify API 模块:如何使 GraphQL 字段独一无二?

AWS-Amplify 提供了几个指令来构建 GraphQL-API。但我还没有找到如何确保字段的唯一性。

我想在 GraphCool 中做类似的事情:

type Tag @model @searchable {
  id: ID!
  label: String! @isUnique
}
Run Code Online (Sandbox Code Playgroud)

这是一个 AWS-Amplify 特定问题。这不是关于如何使用通用 GraphQL 来做到这一点。它非常具体地介绍了如何使用 AWS-Amplify 的 API 模块执行此操作。( https://aws-amplify.github.io/docs/js/api )

graphql aws-appsync aws-amplify

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

如何在Phoenix的Ecto模型中获得PostgreSQL哈希值?

我想在我的Ecto模型中定义一个PostgreSQL-Hash类型字段,但我不知道该怎么做.我还没有找到关于这个主题的明确指南,我假设它隐藏在这里:http://hexdocs.pm/ecto/Ecto.Schema.html

有没有人明确指导在Ecto中做PostgreSQL-Hash字段?

postgresql elixir ecto phoenix-framework

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

如何使用Ecto的时间戳为现有表添加时间戳?

既然inserted_atupdated_at不可能null这不起作用:

def change do
  alter table(:channels) do
    timestamps
  end
end
Run Code Online (Sandbox Code Playgroud)

** (Postgrex.Error) ERROR (not_null_violation): column "inserted_at" contains null values

有没有一种简单的方法来实现这一点而不复制timestamps'功能?

elixir ecto

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

检测模糊,也就是失去了Draft.js编辑器的焦点

是否有"正确的方法"来检测我是否失去了Draft.js编辑器的焦点?

用例是,如果用户点击其他地方,我想要"退出编辑器模式",这意味着我切换编辑器的readOnly prop.我怎样才能理想地做到这一点并且做到这一点是个好主意(你有没有看到问题)?

javascript draftjs

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

如何在React组件的dangerouslySetInnerHTML内容中使用酶测试点击事件

我有一个仅呈现客户输入的 HTML 的组件。该 HTML 可以包含链接。点击事件被拦截。我如何在酶中测试这个?

class Html extends React.Component {
  componentDidMount() {
    this.htmlContainer.addEventListener('click', this.handleTap, true);
  }

  componentWillUnmount() {
    this.htmlContainer.removeEventListener('click', this.handleTap, true);
  }

  handleTap = (event) => {
    // do stuff ...
  }

  render() {
    return (
      <div
        dangerouslySetInnerHTML={{ __html: this.props.html }}
        ref={(domElm) => { this.htmlContainer = domElm; }}
      />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

reactjs enzyme

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

如何从 AWS Amplify 生成的 GraphQL 文档获取createdAt、updatedAt 和owner 字段?

我使用 AWS Amplify 创建 GraphQL API。在 DynamoDB 中,字段createdAt、updatedAt 和owner 是自动创建的。我无法开箱即用地获取该字段的值。现在,当我将这些字段添加到带注释的架构中时,我将能够获取这些值,但具有写入权限的每个人都可以覆盖它们,这对于时间字段来说很烦人,并且对于所有者字段来说存在安全风险。

那么我如何获得这些值呢?

这是一个 AWS-Amplify 特定问题。这不是关于如何使用通用 GraphQL 来做到这一点。它非常具体地介绍了如何使用 AWS-Amplify 的 API 模块及其(遗憾的是非常有限的)指令来执行此操作(https://aws-amplify.github.io/docs/js/api#using-graphql-transformers)。

graphql aws-appsync aws-amplify

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

如何检查Firefox WebExtension弹出窗口?

我正在尝试将Google Chrome扩展程序作为Firefox Webextension运行.我原来的问题是弹出窗口没有高度.除此之外,我不能为我的生活弄清楚如何检查弹出窗口的DOM.

顺便说一下,弹出窗口只是一个HTML文件,它定义于browser_action.default_popup.

firefox-addon-webextensions

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

macos wget 退出并出现错误文件大小超出限制

我最初的问题是我的 MacBookbrew upgrade不再工作了。然后我发现,当我尝试从终端使用 wget 或curl 源时,我收到错误“超出文件大小限制”。

\n
> wget https://nodejs.org/dist/v15.4.0/node-v15.4.0.tar.gz\n--2020-12-16 14:26:50--  https://nodejs.org/dist/v15.4.0/node-v15.4.0.tar.gz\nResolving nodejs.org (nodejs.org)... 2606:4700:10::6814:162e, 2606:4700:10::6814:172e, 104.20.23.46, ...\nConnecting to nodejs.org (nodejs.org)|2606:4700:10::6814:162e|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 62220902 (59M) [application/gzip]\nSaving to: \xe2\x80\x98node-v15.4.0.tar.gz\xe2\x80\x99\n\nnode-v15.4.0.tar.gz                  50%[===============================>                                 ]  29.77M  12.2MB/s\n[1]    7978 file size limit exceeded  wget https://nodejs.org/dist/v15.4.0/node-v15.4.0.tar.gz\n
Run Code Online (Sandbox Code Playgroud)\n

macos terminal

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