小编aja*_*yel的帖子

如何在iOS11主屏幕Web应用程序上访问相机?

摘要

我们无法使用WebRTC或文件输入从iOS11(公开发布)主屏幕Web应用程序访问相机,详情如下.我们的用户如何继续访问相机?

我们通过https提供网络应用页面.

4月更新

iOS 11.3的公开发布似乎解决了问题,文件输入摄像头访问再次正常工作!

3月更新

正如这里的人们所说,Apple docs建议网络应用程序相机功能在11.3与服务工作者一起返回.这很好,但我们还不确定是否我们希望每个人都重新安装,直到我们可以对11.3GM进行彻底测试.

解决方案,11月

我们失去了希望,苹果希望解决这个问题并向前迈进.修改了我们的网络应用程序以删除iOS"添加到主屏幕"功能,并要求受影响的用户删除任何以前的主屏幕图标.

12月6日更新

iOS 11.2和iOS 11.1.2无法修复.

解决方法,9月21日

似乎我们可以向Web应用程序的现有客户询问

  • 不升级到iOS11 - 祝你好运:)
  • 在iOS相机中拍照,然后在网络应用中选择它们
  • 等待下一个ios beta
  • 重新安装为Safari浏览器页面(删除ATHS逻辑后)
  • 切换到Android

文件输入

我们当前的生产代码使用的文件输入在iOS 10及更早版本中运行良好多年.在iOS11上,它可用作Safari选项卡,但不能用于主屏幕应用程序.在后一种情况下,相机被打开并且仅显示黑色屏幕,因此它是不可用的.

   <meta name="apple-mobile-web-app-capable" content="yes">
   ...
   <input type="file" accept="image/*">
Run Code Online (Sandbox Code Playgroud)

的WebRTC

iOS11上的Safari 11提供WebRTC媒体捕获功能,非常棒.

我们可以使用navigator.mediaDevices.getUserMedia根据此处链接的示例代码,在桌面和移动设备上的普通网页上捕捉相机图像到画布.

当我们将页面添加到iPad或iPhone主屏幕时,navigator.mediaDevices变得undefined无法使用.

    <meta name="apple-mobile-web-app-capable" content="yes">
    ...
    // for some reason safari on mac can debug ios safari page but not ios home screen web apps 
    var d = 'typeof navigator : ' + typeof …
Run Code Online (Sandbox Code Playgroud)

javascript html5 camera webrtc ios11

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

如何在屏幕解锁后恢复iOS8网络应用上的JavaScript计时器?

在iOS8上,这个HTML5网络应用程序在屏幕被锁定后不会恢复js计时器,然后在webapp处于活动状态并从主屏幕图标启动时解锁.在iOS7上,计时器将在这种情况下继续.我需要计时器在屏幕解锁后继续 - 任何提示来实现这一目标?

注意/请首先使用Safari的"添加到主屏幕"通过共享按钮将Web应用程序添加到主屏幕.在Safari中运行页面不会导致上述问题.

<html>
<head>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <title>Test</title>
    <script>
        var tim;
        function go() {
            tim = window.setInterval(action, 1000);
        }
        function action() {
            document.getElementById('x').innerHTML = new Date().getTime().toString();
        }
    </script>
</head>
<body onload="go()">
    <div id="x"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript html5 ios8

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

来自外部GPS的HTML5地理定位

我们使用了HTML5s navigator.geolocation,发现它在iOS和Android智能手机上非常出色.现在,用户希望在具有外部GPS的笔记本电脑上运行相同的HTML5 Web应用程序.在笔记本电脑上使用Windows 7,我无法想办法将位置分享到HTML5浏览器(试过Safari,FF,IE,Chrome).为了测试,我使用的是GlobalStat BU-353 USB GPS,它可以独立工作,我发现GPSDirect(很酷的免费软件)可以将信号传送到Win7传感器位置服务,但HTML5浏览器仍然看不到GPS.

有人有这个运气吗?

html5 geolocation

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

Javascript IOS5"JavaScript执行超出超时"

以下测试基本上是〜1000次数学运算,并且在大多数PC和Android浏览器以及iOS 4.x上运行良好.在iOS5 safari(iPhone 4和iPad 2)上,我们得到"JavaScript:错误未定义JavaScript执行超出超时".任何帮助非常感谢谢谢.

/** Converts numeric degrees to radians */
if (typeof (Number.prototype.toRad) === "undefined") {
    Number.prototype.toRad = function () {
    return this * Math.PI / 180;
    }
}

function gc(lat1, lon1, lat2, lon2) {
    // returns the distance in km between a pair of latitude and longitudes
    var R = 6371; // km
    var dLat = (lat2 - lat1).toRad();
    var dLon = (lon2 - lon1).toRad();
    var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
        Math.cos(lat1.toRad()) …
Run Code Online (Sandbox Code Playgroud)

javascript ios5

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

如何在调试模式停止后查看Visual Studio 2015 Javascript控制台?

我的Javascript Apache Cordova应用程序构建正常,但不会在模拟器或真实设备上进行调试.

我在Visual Studio Javascript控制台中看到一堆消息,但应用程序会立即崩溃并且Javascript控制台变得不可用.

我已经尝试设置断点来暂停不起作用的应用程序.

调试器停止后,如何查看这些Javascript控制台日志?

编辑:这适用于Windows Phone(通用),带有Windows Phone插件,不能在浏览器中调试

javascript visual-studio visual-studio-cordova visual-studio-2015

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