Articles of WebKit

Android WebView错误地处理预格式化文本中的换行符

如果我将此HTML推送到WebView : webView.loadData(“line 1\nline 2 “, “text/html”, “utf-8”); 它呈现为(在模拟器中,也在设备上) line 1line 2 而不是 line 1 line 2 正如我所料。 如果我将此HTML保存到SD卡并在浏览器中打开该文件,它会呈现正常。 我想我做错了什么,或者这可能是一个错误。 无论如何,我想以编程方式将带有预先格式化的换行符的HTML推送到WebView并呈现换行符。

Android WebView无法在用户交互之前完全呈现内容

我有一个自定义类扩展WebView,显示HTML内容。 当用户单击HTML文档中的链接时,我计算要滚动到的X值,然后使用scrollTo(x,y)通过runnable显示该位置(见下文) post( new Runnable() { @Override public void run() { scrollTo( x, 0 ); MyWebView.this.invalidate(); MyWebView.this.buildDrawingCache(); MyWebView.this.refreshDrawableState(); MyWebView.this.postInvalidate(); } } ); 滚动后,webview可能无法呈现整个文档。 显示白色空间的矩形块,其中文本应该是每次都看似随机的位置。 这是一个截图: http : //i.imgur.com/g192Y.jpg 当我触摸webview进行滚动时,它会立即渲染缺失的部分。 到目前为止,这种行为仅限于三星Galaxy 10.1“平板电脑。 有没有人知道解决方法/如何强制webkit重新呈现页面?

blockWebkitDraw是什么意思以及如何解决它?

我正在使用WebView包装Android应用程序,它需要呈现HTML5canvas。 它可以在我的所有设备上完美运行,除了一个。 我的Galaxy S4(4.2.2)正在闪烁canvas,然后很快变灰。 这是它产生的logcat消息: D / GestureDetector(20071):[Surface Touch事件] mSweepDown False,mLRSDCnt:-1 mTouchCnt:7 mFalseSizeCnt:0 V / WebViewInputDispatcher(20071):blockWebkitDraw V / WebViewInputDispatcher(20071):blockWebkitDraw lockedfalse D / webview(20071):blockWebkitViewMessage = false 我点击一个按钮,然后canvas应该渲染。 这就是第一个日志项用于表面触摸事件的原因。 当我直接使用webkit浏览器ping我的应用程序时,它适用于我的S4,但是当我自己包装或使用Cordova时,它会给我这个错误。 我添加了两个屏幕截图以进一步显示问题。 第一个是正确渲染,第二个是问题。 Android 2.3.6: Android:4.2.2: 所以回到我的问题。 这条消息怎么了? 有没有人对如何正确渲染canvas有任何建议?

如何让WVGA Android浏览器停止缩放图像?

我正在设计一个HTML页面,以便在Android浏览器中显示。 考虑这个简单的示例页面: Simple! 它在标准HVGA手机(320×480)上看起来很不错,但在HDPI WVGA尺寸(480×800或480×854)上,内置浏览器会自动缩放图像。 它看起来很难看。 我已经读过我应该可以使用此标记强制浏览器停止缩放我的页面: …但所有这一切都是禁用用户缩放(缩放按钮消失); 它实际上并没有阻止浏览器缩放我的图像。 调整比例因子(将它们全部设置为2.0或0.5)完全没有效果。 如何强制WVGA浏览器停止缩放图像?

在iOS或Android上开发WebKit的问题/错误

我即将开发一个支持触控的主要移动WebKit应用程序。 我正在寻找有关与基于桌面的标准浏览器不同的任何提示或建议。 例如: 在iOS上click事件不会向上传播到元素上的元素,除了某些情况(链接,输入,带有附加事件的元素等)。 Android WebKit不会为多点触控发出事件。 我知道这些。 还有其他一些问题吗? 你知道一些已知问题的清单吗?

在android蜂窝webview / webkit中实现水平/垂直手指滑动滚动?

我计划实现基于WebView的Honeycomb平板电脑应用程序(因此,基本上它将是一个仅适用于平板电脑的HTML5基于Web的应用程序 )。 我希望通过滑动手指来实现水平和垂直滚动。 为了更好地理解,我创建了示例大纲 此图像显示类似于Honeycomb的本机设置活动,左右页面可垂直滚动 欢迎任何types的指南或资源。 谢谢

适用于Android的Chrome浏览器不再支持-webkit-overflow-scrolling? 还有其他选择吗?

我在Nexus 7平板电脑上更新到最新版的Chrome for Android并且…… -webkit-overflow-scrolling: touch ……不再有效 此外,以下评估为false: !!(‘WebkitOverflowScrolling’ in document.documentElement.style) 是否支持从最新版Chrome for Android中删除溢出滚动function? 在最新版本中是否可以使用等效或类似的替代动量滚动机制(不是iScroll等)? 同时,我在我的设备上的Play商店中搜索了Chrome测试版,但搜索结果中没有显示。 也许Nexus 7平板电脑不提供测试版? 对此事的任何帮助都非常感谢。 谷歌似乎已经从他们的浏览器中移除了这个function,这是非常令人沮丧的…. 编辑: 详细版本信息: 运行Android 4.2.2版本的Nexus 7平板电脑 -webkit-overflow-scrolling: touch; 和 !!(‘WebkitOverflowScrolling’ in document.documentElement.style) 在Chrome版本18.0.1025469上运行并评估为true 在Chrome版本26.0.1410.58上不起作用并评估为false

将CSS注入到android中的webview网站

例如,我想将www.google.com的背景颜色更改为red 。 我使用了webview ,我的style.css文件在assest folder 。 我想将此style.css文件注入www.google.com 。 我的代码出了什么问题? 请为我写正确的代码。 谢谢。 我的MainActitviy.java文件: package com.example.mysina; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebView; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webView = new WebView(this); setContentView(webView); String html = ” src: url(‘file:///android_asset/style.css’)”; webView.loadData(html, “text/html”, “utf-8”); webView.loadUrl(“https://www.google.com”); } […]

如何模拟:在非链接元素上的android中的活动css伪类?

我希望能够模仿Android webkit中所有元素的:active伪类的行为。 目前, :active语法仅适用于元素(链接)。 我正在处理的应用程序中几乎所有可操作元素都不是标准链接标记。 iOS webkit支持:active对所有元素都:active 。 /* works on both android iOS webkit */ a:active { color: blue; } /* works on iOS webkit, does not work on android webkit */ div:active { color: red; } 我find了一些解决类似问题的资源[1,2],但它们都有点沉重,我想知道是否有一个重量较轻的解决方案我无法find。 http://cubiq.org/remove-onclick-delay-on-webkit-for-iphone http://code.google.com/intl/ro-RO/mobile/articles/fast_buttons.html

HTML5音频行为

我在HTML5页面中有一个音频元素。 我开始播放音频,然后暂停播放。 之后我按回车键返回主屏幕并拨打电话。 当呼叫结束时,音频元素自动恢复。 这发生在Android 4.0.3上 问题在于,这不是预期和期望的行为。 不幸的是,当浏览器在后台运行时,不会抛出javascript事件,我无法使用Javascript捕获并阻止此行为。 任何帮助表示赞赏。 提前致谢。