问题标签 [android-chrome]

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 投票
13 回答
19687 浏览

android - Android - WebView 语言在 Android 7.0 及更高版本上突然更改

我有一个多语言应用程序,主要语言是英语,次要语言是阿拉伯语。

文档中所述,

  • 我已android:supportsRtl="true"在清单中添加。
  • 我已将所有带有leftright属性的 xml 属性分别更改为startend
  • 我已经添加了阿拉伯语字符串strings-ar(对于其他资源也是如此)。

上述设置工作正常。更改为Localear-AE,阿拉伯语文本和资源会正确显示在我的活动中。

但是,每次我Activity使用 aWebView 和/或 a导航到 aWebViewClient时,区域设置、文本和布局方向都会突然恢复为设备默认值。

进一步提示:

  • 这只发生装有Android 7.0的 Nexus 6P 上。在 Android 6.0.1 及更低版本上一切正常。
  • 当我导航到Activity具有 aWebView和/或 a WebViewClient(并且我有多个)的位置时,才会发生区域设置的突然转变。它不会发生在任何其他活动上。

Android 7.0 支持多语言环境,允许用户设置多个默认语言环境。因此,如果我将主要语言环境设置为Locale.UK

在此处输入图像描述

然后在导航到 时WebView,区域设置从ar-AE 变为en-GB

Android 7.0 API 更改:

API 更改列表所示,与语言环境有关的新方法已添加到 API 24 中的以下类中:

Locale

Configuration

但是,我正在使用 API 23 构建我的应用程序,并且没有使用任何这些新方法。

此外 ...

  • Nexus 6P 模拟器也出现此问题。

  • 为了获得默认语言环境,我使用Locale.getDefault().

  • 要设置默认语言环境,我使用以下代码:

    /li>

有没有人遇到过这个问题?这是什么原因,我该如何解决?

参考:

1. Android 4.2 原生 RTL 支持

2. 多语言支持 - 语言和区域设置

3. 警惕默认语言环境

0 投票
2 回答
3672 浏览

android - 网络蓝牙大问题:Chrome 找不到任何设备

我正在使用网络蓝牙技术,我正在尝试将 Android 6.0.1(Galaxy J7 prime)与另一台 chrome(版本 60.0.311)的 Android 设备 6.0.1(Galaxy J5)连接,它不扫描任何设备。如何在 Android 版 Chrome 移动版上列出附近或配对的蓝牙设备?我在本地搜索了蓝牙设备,它自动连接并显示了列表。但它不会在 Chrome 中搜索任何设备。我尝试了许多示例 Web 蓝牙项目,它没有在 chrome 浏览器上扫描任何设备。给出一些工作示例项目。

注意:https ://googlechrome.github.io/samples/web-bluetooth/device-info.html?allDevices=true

我尝试了上面的链接,它没有在 chrome 上显示任何设备,所以我无法完成我的项目。请指导我解决此问题

0 投票
0 回答
258 浏览

javascript - Android (V. 8.0.0 Chrome 61.0.3163.98) / Jquery - 在可编辑的 div 上单击输入时阻止默认行为

在带有 Android chrome(Android 8.0.0 Chrome 61.0.3163.98)的可编辑 div 中单击“输入”时,如果光标位于单词的前面或中间,我无法阻止默认行为的发生。(当我用“onkeydown”捕获事件时已经很晚了 - 进行了更改。此外,当您单击单词中间的输入时,“onkeydown”不会触发)

示例:http ://solid-php.cloudapp.net/DV/enter.html

0 投票
1 回答
2278 浏览

android - 由于违反安全策略,WebView 不加载 iFrame 视频

我正在尝试在我的 WebView 中加载 iFrame。视频/iFrame 无法可靠加载

这就是发生的事情:

当我加载屏幕时,在 webview 的位置有空白区域,但最终视频可能会加载,但大多数时候,它不会加载。但是,如果我锁定屏幕并解锁它,视频就会正常加载。

我扩展了 ChromiumWebClient 并记录了以下方法:

结果视频下载了 80%,引发了安全异常,但它似乎确实在短时间内继续下载并下载了 100%。

尽管下载了 100%,但 webview 不显示视频(播放器)。

但是,如上所述,如果我锁定和解锁屏幕,(现在下载的)视频会正确显示。

iFrame(可以来自任何来源,而不仅仅是 vimeo)

"https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplayer.vimeo.com%2Fvideo%2F215269493&url=https%3A%2F%2Fvimeo.com%2F215269493&image=https%3A %2F%2Fi.vimeocdn.com%2Fvideo%2F632188996_1280.jpg&key=0a5d85b22c79478aa887a7e8061bef56&type=text%2Fhtml&schema=vimeo' width='525' height='295' scrolling='no' frameborder='0' allowfullscreen>"

网页查看代码:

我确实在清单中启用了硬件加速和互联网权限

日志抛出以下(2 条消息):

I/chromium: [INFO:CONSOLE(11)] "设备方向事件在不安全的来源上已被弃用,并且支持将在未来被删除。您应该考虑将您的应用程序切换到安全的来源,例如 HTTPS。请参阅 https:// /缩短 url以获取更多详细信息。”,来源:https ://f.vimeocdn.com/p/2.69.8/js/player.js (11)

I/chromium: [INFO:CONSOLE(0)] "拒绝加载图像 'android-webview-video-poster:default_video_poster/-1316638038331145773' 因为它违反了以下内容安全策略指令:"img-src 'self' 数据: https://i.vimeocdn.com https://secure-b.vimeocdn.com https://f.vimeocdn.com https://vimeo.com https://secure.gravatar.com https:// i0.wp.com https://i1.wp.com https://i2.wp.com https://player.vimeo.com https://*.ci.vimeows.com https://f.vimeocdn .com “.”,来源:https ://player.vimeo.com/video/215269493 (0)

事实证明,这是 Chromium 客户端中的一个已知问题,尚未修复。

我在寻找什么: 我正在寻找一种方法,当我打开屏幕时,视频就会显示,而无需打开和关闭屏幕。不知道除了破解之外是否还有其他可能。

注意:我已经尝试了很多其他的答案,大部分都是处理其他问题,例如配置等。我已将问题隔离在用于 Android WebView 的 ChromiumClient 中,而其他答案与此无关。

0 投票
1 回答
2832 浏览

javascript - 当用户在 android 上取消本机选择器时,navigator.share 不会解析也不会拒绝

因此,我们正在 Ionic v3 PWA 中实施navigator.share()https://developers.google.com/web/updates/2016/09/navigator-share)。

它可以工作,但是我们遇到了一个我们不知道如何解决的小问题:当导航共享选择器弹出时(用户可以在收件箱、gmail、twitter 等之间进行选择),然后用户按下 android 上的后退按钮(关闭出现的本机模式),该函数不会触发承诺中的任何响应。不是成功,不是错误。

这里的问题是,我们在调用 navigator.share 函数之前显示了一个加载微调器,如果用户在那个精确时刻按下了返回按钮,我们就无法触发隐藏加载微调器的函数。

这是我们实现该功能的代码部分:

使用此实现,如果用户在本机共享模式出现时按下后退按钮,则不会引发成功或错误。这段代码有问题吗?

我还尝试在函数中添加另一个回调函数.then(),如:.then(successFn, errorFn). theerrorFn也永远不会被调用。

谢谢你的时间。-

0 投票
1 回答
1092 浏览

google-chrome - Chrome 意图链接始终在 Google Play 商店中打开应用的页面

我正在尝试使深层链接尽可能简单:

这总是会启动 Google Play 商店以显示带有按钮 Open 的应用程序页面,这意味着该应用程序已经安装。

任何人都可以提供有关如何制作链接以启动应用程序的提示吗?我正在 Android Nougat 设备(Acer Iconia One)上使用 Chrome 进行测试。

0 投票
0 回答
262 浏览

javascript - 如何检测和关闭 JavaScript 对话框关闭按钮以关闭弹出 android

我正在使用 webview 来显示 url。它显示带有关闭按钮的滚动地图的弹出窗口。

https://www.onemap.sg/main/v2/ [仅在手机中显示]

当我单击关闭按钮时,它不起作用。对话框没有关闭。

此外,在背面,地图未在 webview 中显示。你可以看到截图

在此处输入图像描述

我的代码如下:

我猜不出应该添加什么来关闭对话框。请帮我解决。

0 投票
2 回答
3313 浏览

javascript - Android Chrome 浏览器地址栏移动固定元素命中区域

似乎 Android Chrome 有一个相当大的错误,有时地址栏隐藏/显示会导致固定元素将其边界框向下/向上移动浏览器的地址栏高度。所以元素在视觉上停留在同一个位置,然而,边界框实际上发生了变化。这会使可点击区域变得无用,因为它们不再注册(见下图)。

该错误是间歇性的,但我已经能够通过快速滚动然后突然停止滚动触摸屏幕来非常可靠地复制它。有没有其他人遇到过这种情况,更重要的是,有没有人有避免这种行为的解决方案?

在第一张图片中,请注意没有地址栏。它通过向下滚动隐藏。边界框是它应该在的地方。

现在使用地址栏,它将整个边界框向下移动,在这种情况下不可见。这使得按钮的点击区域无用。

0 投票
5 回答
23265 浏览

javascript - 在JS中获取Android Chrome浏览器地址栏高度

如何在 Android 的 Chrome 浏览器中获取 JavaScript 中地址栏的高度(左图中用红色矩形标记)?我需要知道它在向下滚动时会消失,我需要对此做出反应,因为那时视口高度不同。

在此处输入图像描述

我已经想出的一种解决方案:

  1. 获取初始状态下的视口高度: var height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);

  2. 地址栏消失时获取视口高度

  3. 计算两个值之间的差异

问题是你必须处于第二种状态才能知道这一点。

0 投票
1 回答
1331 浏览

google-chrome-devtools - 在 Android Chrome 上打开本地服务器的页面

我正在尝试从我的 Android 手机访问本地服务器上的网站。按照这个谷歌教程

  • Chrome DevTools 检测到我的设备
  • 我设置端口转发规则localhost:5000 -> localhost:8000

但我无法让它工作......当我访问 localhost:5000 时,浏览器呈现This site can't bereach

我也试过127.0.0.1:5000

我研究了很多,找不到任何解决方案。

这是连接问题吗?