问题标签 [mobile-webkit]

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 投票
3 回答
4638 浏览

javascript - 为 iOS 构建自己的基于 WebKit 的 UIWebView 可行吗?

Apple 已经(部分)开源了他们在 iOS 中使用的 WebKit 和 JavaScriptCore 引擎:http ://www.opensource.apple.com/release/ios-433/

在 iOS 上构建、使用和发布您自己的 JavaScriptCore 版本已经成为可能。但是,是否可以对 WebKit 的渲染引擎做同样的事情呢?iOS 上的 UIWebView 非常有限。它缺少的重要功能是访问 JavaScriptCore JavaScript 上下文对象。没有它,在共享同一个 JS 引擎的同时,直接在 JavaScriptCore 中运行一些代码和在 web 视图中运行一些代码几乎是不可能的。所以我有兴趣构建我自己的基于 WebKit 的 Web 视图,它公开 JavaScript 上下文。

有没有做这方面工作的项目?编译后的 Web 视图库是否会太大而无法随应用一起发布?

谢谢!

0 投票
2 回答
1234 浏览

javascript - 一种在网页之间进行“类似 iPhone”的转换的方法,但没有完整(移动)网络框架的开销并使用 iScroll (v4)

我正在寻找一种简单的方法来使用您通常在原生 iPhone 应用程序或 Android 原生应用程序中看到的过渡效果(例如滑块效果,即整个页面向左或向右滑动)。

我知道我的 Web 应用程序上的网页之间的这些转换可以通过使用 jQuery Mobile、Wink、iUi 等框架来实现。

此外,我的应用程序需要一个固定的页脚和一个带有可滚动内容的固定页眉。我尝试使用 jQuery Mobile,但内容的滚动效果虽然不错,但固定页眉和页脚的渲染效果并不好。

所以我改用 iScroll 4 但我不能使用 jQuery mobile 只做转换,因为 jQuery mobile 使用 DOM 等,这会在 div 的位置上导致一些问题

我尝试使用 iUI,但尽管它看起来不像 jQ mobile 那样“广泛”,但它仍然是 Web 应用程序的完整框架。但我目前只寻找过渡..

有没有办法在不使用 javascript 框架的情况下实现那些“完整的网页”转换?此外,诸如 iUI 之类的框架仅将所有页面放在一个中(jQuery Mobile 没有,这很好)将它们分隔在几个 div 中。我猜这可能与 iScroll 有问题?

最好的是能够在单独的 html 页面之间进行这些转换,但我不知道这是否可能(我的意思是不使用 AJAX 世界技术)

我只针对使用 webkit 的现代设备(Android、iDevices ..)

非常感谢你的帮助

0 投票
1 回答
448 浏览

javascript - 从缩小的 Mobile Safari 浏览器获取文档宽度或窗口宽度

我在我们的网站上做一个基于 jquery 的灯箱,在主要的桌面操作系统浏览器上一切都很好。

但是在 Mobile Safari(iPhone 和 iPad)上——可能还有 Android 设备上——由于这些浏览器的缩放功能而存在问题。

这是一个“普通”灯箱,它插入一个叠加元素并在该叠加层之上显示一些图像。

这就是我想要做的:我想覆盖整个窗口,所以我得到$(window).width()并将$(window).height()覆盖设置为这些值。

这在普通桌面浏览器上很好,因为它们不能缩放,但在缩放设备上,它会导致覆盖太窄太短,因为这些值是 768x946 并且桌面上页面的实际宽度超过 1400 .

是的,我可以关闭缩放,但该网站看起来很好按比例缩小,所以我想避免这种情况。

所以问题必须是:当页面缩小时,如何获得窗口或正文元素的实际未缩放宽度?

提前谢谢你:-)马丁

0 投票
0 回答
726 浏览

android - android调试模式下“转储导航缓存”和“转储V8缓存”有什么作用?

我正在尝试在 Android 设备上调试问题,并且最近发现了浏览器 about:debug extra settings。但是,有一些我不清楚的选项,例如提到的“转储导航缓存”和“转储 V8 缓存”。我花了很多时间搜索信息,但我唯一能找到的是更改用户代理字符串的能力。

关于 about:debug 方法是否有可用的文档?或者任何人都可以告诉我这些转储包含什么以及它们被转储到哪里?查看浏览器缓存的能力现在对我来说非常有用;)

谢谢你的帮助。

0 投票
1 回答
367 浏览

jquery - 移动 WebKit 按钮单击伪类

我目前正在开发一个私有框架来模仿 CSS 3 和 HTML 5 中的 iOS UI。我已经创建了大部分小部件,包括许多彩色渐变按钮,但是我很难在蓝色渐变中添加一个按钮被单击。

我尝试了以下示例:button:focus, button:activebutton:hover但似乎没有任何效果。单击 Mobile WebKit 中的按钮时,我看到的只是默认的灰色框。我想知道是否有人能指出我正确的方向。

本质上,我想这样做:

希望这是有道理的!我什至尝试在使用jQuery“单击”按钮时将类添加到按钮,但再次没有任何反应。我想我的问题是,当用户点击 Mobile WebKit 中的元素时,正确的伪类是什么?

0 投票
1 回答
1487 浏览

css - 移动 WebKit 中的 CSS3 过渡转换

我在 CSS3 中的一个元素上有一个过渡变换,但是每当我运行动画时,似乎动画中涉及的元素之一在动画期间总是隐藏起来。

下面是 CSS、HTML 和 JavaScript 代码:

CSS

JavaScript:

本质上,动画将整个移动div.control-con或向后移动,具体取决于复选框的状态。在 Chrome 和 Safari 中一切正常,但在 Mobile Safari 中运行时,由于某种原因,动画运行时不会显示span.offspan.on元素。

隐藏哪个 span 元素取决于动画的方向。这是问题的屏幕截图,您会注意到span.off在动画完成之前不会显示:

在此处输入图像描述

在此处输入图像描述

我也把它放到了一个 jsFiddle 中供参考:http: //jsfiddle.net/kShEQ/

0 投票
1 回答
1942 浏览

jquery - 不安全的 JavaScript 尝试使用 URL 访问框架。它是本地的

我正在用 phonegap 构建一个 jQuery 移动应用程序。Unsafe JavaScript attempt to access frame当我尝试访问 iframe 中的页面时存在问题(可能是 webkit)。框架页面和父页面都在本地,以.开头file:///。我知道像这样的问题在哪里不安全的 JavaScript 尝试访问 Google Chrome 中的框架但我不能passing the --allow-file-access-from-files switch at startup在我的手机上。而且我也不想部署我在互联网上的应用程序。还有其他选择可以解决这个问题吗?最好不用对浏览器做任何修改。谢谢。

0 投票
1 回答
132 浏览

javascript - 移动 WebKit 记住点击位置?

我目前正在开发一个用于 WebKit 设备的私有框架。我创建了一系列列表视图,我在其中应用了一个hover用户何时开始触摸某物的类。这是我用来添加它的 jQuery / JavaScript 代码,以及匹配类的 CSS:

和CSS:

在 Chrome(或某些支持 Webkit 的桌面浏览器)中查看时,这似乎按预期工作,除了如果鼠标位置在屏幕转换之间不移动,新屏幕上的列表元素将悬停。这显然是意料之中的,因为:hover伪类已被解雇。

但是,我没想到 iPhone 的 Mobile Safari 也会发生同样的行为。以下是一些截图和场景的简要说明。我在 List Views 元素(它是一个位于 中的a元素li)上点击一次,然后将手指从屏幕上移开。显示一个新div的包含另一个列表。没有点击div现在显示的新的任何东西,第二个li有一个类hover,即使我没有碰过它......

在此处输入图像描述 在此处输入图像描述

谁能帮我调试一下,或者弄清楚为什么在 Mobile WebKit 上会发生这种情况?这很烦人,因为它的 HCI 很差。我尝试添加以下行来纠正问题,但没有喜悦:

高级感谢您的帮助,很抱歉漫无目的!

0 投票
1 回答
685 浏览

javascript - 如何阻止安卓浏览器向后滚动

我正在开发一个 jquery-mobile 应用程序并且遇到了一些问题;我想使用 jquery 的 animate() 来轻轻滚动“回到顶部”我的应用程序页面。

除了我的一个测试浏览器之外,以下代码片段在所有浏览器中都运行良好。桌面上的 Chrome 和 Firefox、iPhone 上的 Safari 和 Android 上的 Firefox Beta 都很好。动画完成后,默认的 Android 浏览器 (webkit-mobile IIRC) 会滚动回锚点。

任何人都可以建议a)是什么导致Android浏览器向后滚动和/或b)建议一种解决方法?如果它有所不同,我目前正在测试的设备正在运行 Android 2.3.2。

0 投票
1 回答
1353 浏览

javascript - 用于设备宽度媒体查询的 Android 2.2 2.3 解决方法

我在 Android 2.2 和 2.3 本机浏览器上观察到一个问题,其中device-widthCSS 媒体查询和window.screen.width基于您的网页文档和缩放应用的报告大小。

示例: 1:1 缩放,960 像素宽的页面将显示适当的设备宽度(例如 320 像素)

示例:适合屏幕缩放,960px 宽页面,不正确地报告 960px 设备宽度

因此,通过适当的视口元标记内容,它似乎是可以预测的。但是,就我而言,我不能依赖元标记。无论视口元标记如何,是否有人使用解决方法在 Android 中获得可靠的设备宽度测量?其他平台确实在所有缩放中正确报告了这一点。

参考: http ://code.google.com/p/android/issues/detail?id=11961