问题标签 [browser-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
44 浏览

javascript - 如何在 Chrome 或 VS Code 或 Firefox 中进行电子页面搜索?

这就是 chrome 中搜索的样子

我试图做这样的事情,但我遇到了一些问题。我使用Window.getSelection()突出显示所有匹配项,并单独输入以获取用户查询。但它并没有像 Firefox 那样突出显示所有添加的范围,而且我无法专注于输入并同时突出显示找到的文本。

我有焦点和突出问题。

这是我目前拥有的

我知道 Chrome 和 Firefox 以及 VS Code 和 Atom 都有这个功能,它们有属于用户选择的突出显示,它们有属于搜索结果的突出显示。它们可能具有用于搜索结果和用户选择的独立选择对象。是否有任何现成的 API 或者我需要尝试自己实现它?

谢谢你们)

0 投票
1 回答
286 浏览

reactjs - 确认浏览器后退按钮

我正在尝试通过 Gatsby 实现以下目标

  1. 用户在表单页面上,如果他们点击浏览器的后退按钮,会出现一个弹出窗口,询问他们是否要离开。
  2. 如果用户选择ok,那么它将返回。
  3. 如果用户选择cancel,那么它将停留在此页面上

通过执行以下操作,我能够“几乎”实现它

有一个问题,如果用户选择cancel,那么浏览器会转到上一页。然后window.history.forward()会开火并将他们送回去。

我注意到该popstate事件无法取消,因此e.preventDefault()无法正常工作。

注意:我也尝试使用 进行测试window.onbeforeunload,但它仅在我关闭窗口或我以前来自我的应用程序之外时触发。我的问题有解决办法吗?

0 投票
2 回答
706 浏览

javascript - ScrollToOptions 的行为:Chrome 和 Edge v81+ 中的“平滑”中断

在 BrowserStack 中进行测试后,我得出结论,自 81 版以来,使用scrollTo()with option 参数behavior: smooth在 Chrome 和 Edge 中不起作用。Edge 和 Chrome 的 80 版都按预期工作。根据MDN,它应该没有星号。(与 Safari 不同)

在诸如this one之类的流行答案中,建议使用 usingbehavior: smooth来在您的 Web 应用程序中启用平滑滚动。

这是一个小的可重复性:

预期的行为是浏览器窗口将视图平滑地插入到红色 div。它在我测试过的所有版本的 Firefox 中都能正确执行此操作。在自 v81 以来的所有 Chrome 版本以及自 v81 以来的所有 Edge 版本中,它似乎都使用了behavior: auto- 即它跳转到 div 而不是平滑地插入视图的行为。

在 Edge 和 Chrome 的 80 版本中,它的行为就像 Firefox,这意味着这个错误(?)一定是在 81 版本中引入的——也许是在共享的 Chromium 代码库中?

我发现我不太可能是第一个发现这个问题的人,因为它自 4 月以来一直没有工作,因此必须得出结论我做错了什么。有人可以指出代码中的错误吗?还是 Chrome 和 Edge API 真的坏了?行为是否隐藏在功能标志后面,就像在 Safari 中一样?

0 投票
1 回答
69 浏览

javascript - 在 Angular 中获得嵌入式 iFrame 的性能

我正在寻找一种方法来检查我的 iframe 是否是瓶颈(如果是,请切换到另一个来源)

有没有办法通过Performance API实现这一点?

我目前在我的(Angular)前端有这个:

我的组件

有没有办法获取 iframe 的资源?

0 投票
1 回答
37 浏览

javascript - 已弃用的 `Headers.getAll()` API 重新实现

Headers.getAll()方法似乎提供了一种解析多值 http 标头的可靠方法。但是,根据 文档,该方法已被弃用并从规范中删除。似乎没有任何方法可以支持解析多值标头。该Headers.get()方法似乎返回一个包含多个值的未解析字符串。如何以可靠的方式重新实现已弃用的方法?

0 投票
1 回答
220 浏览

angular - Angular SSR - 在浏览器和服务器中使用 performance.now()

我想在我的 Angular 组件中设置一些性能标记和度量,以衡量所选组件处理和渲染所需的时间。在“客户端模式”下运行应用程序时它们工作正常,但是一旦我在 SSR 模式下运行应用程序,我就会得到“性能”未定义。

ReferenceError:性能未定义

我尝试从节点“perf_hooks”内部模块导入它,但是当从 app.component.ts 调用时,我得到了未知模块“perf_hooks”。
https://github.com/buggy1985/angular-ssr-performance/blob/HEAD/src/app/app.component.ts#L17

找不到模块“perf_hooks”或其相应的类型声明

如果我在 server.ts 中使用 performance.now() 它似乎正在工作。 https://github.com/buggy1985/angular-ssr-performance/blob/HEAD/server.ts#L13

我可以将性能类从 server.ts 传递给组件吗?让浏览器回退到window.performance?或者我做错了什么?

0 投票
0 回答
25 浏览

javascript - 为什么 react-router 滚动恢复( window.scrollTo(0, 0); )如 React-Router 文档中所解释的那样如果溢出-x:隐藏在正文上不起作用?

我最近遇到了这个问题,在https://reactrouter.com/web/guides/scroll-restoration上解释的滚动恢复不起作用。

我发布了这个问题:

React <ScrollToTop> 组件问题:我无法让它工作

此问题的原因是overflow-x: hidden;关于 body 元素。

我很想知道,如果有人能解释幕后真正发生的事情,在 DOM 中,这会导致以下问题,我将不胜感激:

当有溢出时-x:hidden;在 body 元素上。

0 投票
1 回答
41 浏览

javascript - 为什么我们不能在 onBeforeUnload 对话框中显示自定义消息

我看到大多数现代浏览器已经取消了在 onbeforeunload 对话框中传递自定义消息的能力。(在 chrome 中删除的功能:https ://www.chromestatus.com/feature/5349061406228480 )。

所以我有以下问题..

为什么现代浏览器删除了该功能?这种设计背后的原因是什么?如果用户必须在现代浏览器中显示自定义消息,我们现在该怎么办?

0 投票
0 回答
15 浏览

javascript - 有没有办法在 Firefox 中获取网络摄像头的纵横比

我正在尝试使用 javascript 获取网络摄像头的纵横比。根据本文档,它不适用于 Firefox。 https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/aspectRatio

正如它所说,我试过它在 chrome 中工作得很好,而不是在 Firefox 中工作,它在 Firefox 中给出了未定义的纵横比。

但我已经看到这个网站 - https://webcamtests.com/ 不知何故能够检测到网络摄像头的纵横比?

是否有任何解决方法来获取 Firefox 的纵横比?