Articles of WebKit

Android 4.0 ICS Webview与“未知铬错误:-324”

我编写一个浏览器在Android 4.0 ICS中使用WebView。 但是当我访问某个网站时,发生错误。 我重写WebViewClient中的onReceivedError方法,并打印logcat。 08-28 09:22:00.549: D/chromium(22081): Unknown chromium error: -324 08-28 09:22:32.658: E/sky-mobi(22081): errorCode:-1 description:A network error occurred。failingUrl:https://172.16.28.5/portal/logon.htm 08-28 09:22:32.705: W/Web Console(22081): The page at “https://172.16.28.5/portal/logon.htm” displayed insecure content from file:///android_asset/webkit/android-weberror.png. 08-28 09:22:32.705: W/Web Console(22081): at null:1 我testing了与Android 2.3.3的URL,它完全正常工作。

Android浏览器 – JavaScript window.innerWidth返回错误的值

我正在使用Android G1默认的网页浏览器,而且我正在使用JavaScript进行开发 – 当我放大或缩小网页时,无法获得真实的视觉宽度和高度。 看来,我正在从window.innerWidth,当我放大/缩小出错的值。 我想要做的是 – 在视觉固定的位置显示一个元素,即使在缩放和滚动页面时也是如此。 – 所以用户总是可以看到那个元素,不pipe他是在缩放还是在滚动。 我已经尝试使用“固定”的位置没有成功。 视口元标记的使用可能不是一个好的解决scheme,因为我不想限制网页的尺寸,我希望缩放function将被支持。 有没有人有一个解决scheme或想法如何我可以做到这一点?

移动webkit内存消耗

我们正在为移动设备(Android + iOS)开发HTML5应用程序。 但是最大的问题是内存消耗 – 内存使用量增长非常快,应用程序变得迟缓。 与HTML(JavaScript)应用程序中的内存泄漏作斗争的最佳实践,提示,工具,解决scheme等是什么? PS我们只针对Webkit浏览器

寻找iScroll的替代品(iOS / Webkit上的滚动Div)

我通过数据移动应用程序构build了一个复杂的表单,现在正在寻找解决scheme来坚持标题和页脚的位置。 在我的虚拟桌面上,已经使用Chrome和Safari开发和testing了虚拟桌面,我只是定位了页眉和页脚以及内容部分,在Windows的resize事件中由JavaScript设置了哪个高度。 这不是移动世界的正确方式,因为移动WebKit不支持overflow:auto。 我自己尝试了一些东西,我也看了一下iScroll。 事实上,iScroll在我的iPad上崩溃了safari,而没有这个组件的应用程序运行的非常stream畅。 我有很多比较复杂的表单,这可能是iScroll的挑战,我认为这是不可取的。 所以我正在寻找其他的方式来实现我的目标(坚持页眉和页脚),而不让用户使用两个手指滚动(实际上,几乎没有人知道“伎俩”)。 有什么build议么? 谢谢!

获取webview的最后一个加载url,而不需要在Android中执行webView.goBack()

我想logging历史url或上次加载的url,而无需手动存储历史url。 那可能吗?

Android浏览器select字段时出现奇怪的行为

Android Webkit浏览器(在2.2,2.3和3.0上进行testing)似乎在将模式元素放在另一个之上时会出现怪异的行为。 在这个例子中 …我正在显示一个z-index 200的jQuery UIdateselect器 ,一个覆盖整个文档高度和宽度的灰色覆盖div,z-index 199,后面是所有常规表单。 在上面的示例中,我点击了2011年的下拉控件,而不是select该下拉列表,焦点位于灰色叠加层之下的textarea元素上。 注意:桌面Firefox浏览器或iPhone Webkit浏览器不会发生这种情况。 任何想法有什么问题? 或者如何解决这个问题? 我想避免修改窗体(例如禁用所有元素,而覆盖显示)…

有没有办法消除移动触摸设备上的点击滞后?

在移动设备(iPad,Galaxy Tab)上查看网站时,点击某个元素(常规链接或使用javascript / jquery进行点击的任何其他元素)总会有滞后现象。 在网上阅读时,我发现浏览器使用touchstart后跟touchend事件,然后触发常规的点击事件。 有没有一种方法来获得更敏感的点击并消除延迟的点击事件? 也许通过使用JavaScript,或其他?

WebView导致SQLiteDiskIOException

我已经有一段时间(通过Flurry / acra)获取SQLiteDiskIOExceptions的报告。 我一直无法在本地重现这个问题,但是这是我最频繁的崩溃,在糟糕的一天发生了五十次。 在Android 2.3.x下,它们似乎特别频繁。 我在自己的代码中完全不使用SQL,但是我有多个WebView同时运行(两个,另外还有一个广告SDK)。 这些错误都是由WebView引起的,通过以下任何一种方法: android.webkit.WebViewDatabase.clearCache android.webkit.WebViewDatabase.flushCacheStat android.webkit.WebViewDatabase.deleteCookies android.webkit.WebViewDatabase.removeCache (还收到了一个android.database.sqlite.SQLiteDatabaseCorruptException的报告,但这些非常罕见)。 我评论了任何有关在我自己的代码中清除WebViewcaching的事情,但是这并没有帮助。 完整的LogCat在这里转储。 有没有人知道我可以预防,捕捉或更清楚地隔离这些exception的原因? 它们太频繁了,只能由不好的SD内存引起。 谢谢! 编辑:请求的源代码: browser=(WebView)findViewById(R.id.webkit); browser.setWebViewClient( new CustomWebViewClient(this,browser) ); WebSettings webSettings = browser.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setPluginsEnabled(true); browser.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY); webSettings.setBuiltInZoomControls(true); browser.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { progressbarhorizontal.setProgress(progress); } }); XML: <WebView android:id="@+id/webkit" android:layout_width="fill_parent" android:layout_height="fill_parent" android:focusable="true" android:nextFocusDown="@+id/bottomview"></WebView>

Android的webkit浏览器宽度不正确

我注意到Android的默认浏览器的一个问题,其中100%的宽度可能实际上超过了屏幕的边缘。 这是一个最小的testing用例: <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>&nbsp;</div> <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>New & improved div</div> <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>another working one</div> <div class='separator' width=100% style='border: 2px;padding: 2px;border-style: solid;'>another</div> 这在桌面浏览器上按预期工作,但在Android WebKit浏览器中,第一个div离开屏幕,在放大和缩小时不会改变宽度。 它工作正常后的div。 更新 :我已经在2.3,3.0,3.1以及新创build的2.2模拟器上testing过了,它们都不能正确resize。 看起来其他人已经注意到这一点,看到这里和这里 。 任何人都知道这个bug的一个很好的解决方法?

window.scrollMaxY的替代品?

我试图使用window.pageYOffset & window.scrollMaxY来计算当前页面的进度。 这种方法在FF3.5下工作,但在webkit 窗口下.scrollMaxY未定义。