标签: navigator

如何在客户端站点中检测浏览器国家?

我发现以下网站甚至可以在私人模式下检测我的国家和货币

http://www.innisfreeworld.com/

它记录在cookie中,它是如何做到的?

在此输入图像描述

这可能在客户端站点中实现吗?航海家?

html javascript browser navigator

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

Cordova navigator.mediaSession

我试图在播放音频时让媒体控件在 Android 上工作。

我最初使用 html5 音频,但后来转而使用 cordova-plugin-media 来播放音频,并使用 music-controls 这是一个 cordova 控件插件。(我实际上尝试了很多不同的插件等)。我遇到的问题是没有一个插件能 100% 工作,我仍然能够找到方法在设备上暂停音频等,而无需调用我的回调来保持我的应用程序同步。经过多天的故障排除后,我现在放弃了这种方法。

我昨天读了一篇文章,发现了有关 navigator.mediaSession 的信息,并且能够通过切换回 html5 audo 在桌面上的 google chrome 中启动并运行它,但是,当我通过 cordova 构建它时, navigator.mediaSession 并未定义。

是否可以通过 cordova 使用 naviator.mediaSession ?如果是这样,我错过了什么?

如果没有,那就又要拔我的头发了。如果有人有任何建议,他们将不胜感激。

android navigator cordova

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

navigator.connection下行显示最大10Mbps

使用此 API:https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API

$ navigator.connection您可以在浏览器控制台中运行以接收有关网络连接的不同值。

但是该downlink属性的最大值为 10(也称为 10Mbps)。为什么这里会被封顶呢?并没有真正帮助我,因为我需要更多信息,因为我正在决定客户端是否可以处理可能需要超过 10Mbps 的高清视频,谢谢。

navigator

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

Flutter Navigator 2.0 通过 Navigator() 路由

我目前正在尝试使用新的 Flutter web beta 构建一个 web 应用程序。问题是能够拥有历史记录,处理浏览器中的前进和后退按钮,并能够处理用户输入到需要新 Navigator 2.0 API 的 URL(至少从我的理解)。

目前只有少数可用资源,我正在尝试基于这些资源构建我的导航器。我使用的资源:

我设法让后退和前进按钮,以及历史工作。但是,我很难处理页面切换(在 Navigator() 中)。在 John 的示例中,他管理 Navigator 小部件的 'page:' 数组中的不同站点(在 routeDelegater 中)。这对我来说似乎很奇怪,但我像这样尝试过,但它并没有真正起作用(代码进一步向下)

在“页面:[]”中,我首先尝试让布尔值触发(如 show404),但这不是很干净,所以我的下一次尝试是按如下方式获取当前页面(在数组中):

if(_currentPage.name == 'pages[0]') pageBuilds[0]
Run Code Online (Sandbox Code Playgroud)

这有点奏效,因为我可以输入段 /matchit/0 并加载正确的页面,但是由于某种原因,“/”路由不再起作用,我收到了错误

Navigator.onGenerateRoute was null, but the route named "/" was referenced 
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用 'ongenerateRoute' 但这只是抛出了一堆错误。我有点新,所以也许我在那里做错了什么。但在我看来这不是正确的方法。这就是我目前陷入困境的地方。我不知道接下来该尝试什么,希望你们中的一些人可以帮助我。

我的 Route-Delegater 如下所示(我将在代码中包含我的注释,也许它可以帮助你们中的一些人,他们也希望了解 Navigator 2.0,了解正在发生的事情):

/**
 * The RouteDelegate defines application specific behavious of how the router
 * …
Run Code Online (Sandbox Code Playgroud)

navigator flutter flutter-navigation flutter-web flutter-routes

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

Navigator.popUntil flutter 显示黑屏

我的项目中有两个不同的流程。

  1. 主页 -> A页 -> B页 -> C页 -> A页

从C页到A页,我使用了这段代码,效果很好。

   Navigator.popUntil(context, ModalRoute.withName(AssetMenu.ROUTE));
Run Code Online (Sandbox Code Playgroud)
  1. 当收到推送通知时,用户点击推送通知,我希望它立即像这样导航

主页 -> 页面 B -> 页面 C -> 单击页面 C 中的按钮后返回页面 A。

但是当点击C页的按钮时,却显示黑屏。

我应该如何处理这个问题?

navigator dart flutter

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

如何在玩笑中模拟 window.navigator.language 27

我有一个像这样的函数

export function formatDate(date: string){
    return new Intl.DateTimeFormat(navigator.language).format(new Date(date))
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试用 vanilla jest 编写单元测试(不使用 jsdom 库),但正如你所看到的,我需要能够模拟window.navigator.language.

到目前为止我已经尝试过了

test('UK date format', () => {
  Object.defineProperty(window.navigator, 'language', {value: 'en-GB', configurable: true})
  expect(window.navigator.language).toBe('en-GB')
})
Run Code Online (Sandbox Code Playgroud)

但我一生都无法理解你应该如何开玩笑地嘲笑 window.navigator 。

理想情况下,我希望能够在每次测试中模拟 window.navigator.language 的新值。这样我就可以进行测试en-USfr一下

任何有助于理解您应该如何嘲笑这一点的帮助将不胜感激。

unit-testing navigator typescript jestjs ts-jest

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

使用 Hero 动画 Flutter 找不到正确的 Provider<>

我正在将图库文件中的新内容推Route送到带有动画的详细信息文件中Hero。一切都很好,但是当我调用pop()详细信息文件内部以返回图库时,出现错误Provider

\n
flutter: \xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1 EXCEPTION CAUGHT BY WIDGETS LIBRARY \xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\nflutter: The following ProviderNotFoundException was thrown building GalleryThumbnail(dirty, state:\nflutter: _GalleryThumbnailState#9dc96):\nflutter: Error: Could not find the correct Provider<GalleryViewModel> above this GalleryThumbnail Widget\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的画廊文件:

\n
@override\n  Widget build(BuildContext context) {\n    return MultiProvider(\n        providers: [\n          ChangeNotifierProvider.value(value: galleryViewModel),\n          ChangeNotifierProvider.value(value: galleryProvider)\n        ],\n        child: Scaffold(\n            resizeToAvoidBottomInset: false,\n            body: Stack(\n              children: [\n                Consumer<GalleryViewModel>(\n                    builder: (context, model, child) =>\n                        galleryViewModel.assetsList.length != 0 ? gallery() : emptyGallery()),\n\n...\n\n}\n\n\nWidget gallery() {\n    return Container(\n …
Run Code Online (Sandbox Code Playgroud)

provider navigator dart flutter flutter-change-notifier

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

为什么 navigator.share 只共享文本,而不共享 URL?

我已经在我的 React 应用程序中添加了 navigator.share 函数,但由于某种原因,它只共享对象中的文本而不是 URL?我在这里缺少什么吗?

    function shareList() {
      if (navigator.canShare) {
        navigator.share({
          title: "Page Title",
          text: "brief description",
          url: window.location.href,
        });
      } else {
        //functionality for desktop
      }
    }
Run Code Online (Sandbox Code Playgroud)
<input type="button" value="Share..." onclick="shareList()"/>
Run Code Online (Sandbox Code Playgroud)

在 iOS 上,共享对话框会正确弹出,但共享对象只是文本而不是 URL。这是弹出窗口的屏幕截图

分享对话截图

javascript navigator reactjs

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

类型“Navigator”上不存在属性“wakeLock”

我需要在我的角度应用程序中使用屏幕唤醒锁定 API
\n这是我的代码

\n
if ('wakeLock' in navigator) {\n         await navigator.wakeLock.request();\n        \n}\n
Run Code Online (Sandbox Code Playgroud)\n

但是,Angular 编译失败并出现以下错误:

\n
Error: src/app/feature/test/test/test.component.ts:20:42 - error TS2339: Property 'wakeLock' does not exist on type 'Navigator'.\n
Run Code Online (Sandbox Code Playgroud)\n

Angular 版本和信息

\n
     _                      _                 ____ _     ___\n    / \\   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|\n   / \xe2\x96\xb3 \\ | '_ \\ / _` | | | | |/ _` | '__|   | |   | |    | |\n  / ___ …
Run Code Online (Sandbox Code Playgroud)

navigator typescript angular

5
推荐指数
2
解决办法
2563
查看次数

无法在“导航器”上执行“共享”:先前的共享尚未完成

我刚刚看到我网站上的一些用户遇到了此错误

InvalidStateError:无法在“Navigator”上执行“共享”:早期共享尚未完成。

这发生在这部分代码上:

if(navigator.share) {
  navigator.share({
    url: 'https://www.example.com',
  });
}
Run Code Online (Sandbox Code Playgroud)

MDN 网站甚至没有提及此错误的可能性。

我看到错误来自 Windows、Android 和 Chrome 操作系统的 Chrome 浏览器。我看到 mac 上的 chrome 目前没有共享功能。值得一提的是,这个问题很少发生。我尝试通过多次快速单击共享、限制 CPU 和网络、取消共享来重现它,但我始终无法让它抛出此错误。

有谁知道如何触发此错误或看过有关它的任何文档?

javascript google-chrome navigator

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