我在Android浏览器中遇到了一个反复出现的问题.这是一个移动网站,而不是webview.事情就这么简单
<li>
Some Text
</li>
<li>
Some Text
</li>
Run Code Online (Sandbox Code Playgroud)
渲染效果很好,但在Android中,在列表项之间我得到一个小矩形(就像在这个字体矩形中找不到的字符).我只能假设在我的代码中有一个换行符或空白字符,除了Android之外,它在任何地方都被识别出来.它非常烦人,我还没有找到关于这个主题的任何文件.偶尔我不得不诉诸'耶稣鱼'黑客来摆脱它.对于那些不知道这个hack的人来说,它是ie6处理空白和换行的最后一招,黑客看起来像这样:
<li>something</li
><li>something</li
><li>something</li>
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我正在使用intelliJ IDE.有谁知道为什么会这样?
我有一个工作文件上传表单,它使用XMLHttpRequest 2将文件上传到Transloadit(文件处理服务).在Firefox和Chrome中,无论是桌面还是Android,都会正确触发进度事件.但Android(4.0)股票浏览器不会触发这些事件,因此我的进度条对我网站的用户不起作用.据说Android自3.0以来支持XHR2和ProgressEvent,所以我不知道发生了什么.
代码是:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Upload test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link href="/assets/application.css" media="all" rel="stylesheet" type="text/css" /> <!-- twitter bootstrap -->
<script type="text/javascript">
var onprogress = function(e)
{
var $status = $('.status');
$status.text('onprogress: ' + (e.loaded / e.total) * 75 + '<br>');
if (e.lengthComputable) {
setProgress((e.loaded / e.total) * 75);
}
}
var setProgress = function(percent) {
percent = percent+'%';
var $progressBar = $('.progress .bar');
var $status = $('.status');
$progressBar.css('width', percent);
$progressBar.text(percent); …Run Code Online (Sandbox Code Playgroud) javascript html5 xmlhttprequest android-browser xmlhttprequest-level2
我有一个Android应用程序,它执行此操作:
PackageManager pm = getApplicationContext().getPackageManager();
Intent browserIntent = new Intent();
browserIntent.setAction(Intent.ACTION_VIEW);
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
browserIntent.setData(Uri.parse("http://www.google.com"));
ResolveInfo resolveInfo = pm.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY);
try {
String browserType = nutent.activityInfo.packageName;
} catch (NullPointerException npe) {
npe.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我已经在4种不同的手机和许多不同的仿真器配置上进行了测试.所有这些都很好.但我正在从野外部署的应用程序中获取崩溃报告,因为resolveInfo有时为null.
立即修复是在崩溃我的应用程序之前捕获NPE并处理它(如上所述).但是我已经尝试了几天自己重现这一点而不能.在安装了单个默认浏览器的模拟器上,它解析为com.android.browser.BrowserActivity:
ResolveInfo{411ef228 com.android.browser.BrowserActivity p=0 o=0 m=0x208000}
Run Code Online (Sandbox Code Playgroud)
同样,在安装了多个浏览器的手机上,这有点不同......对于com.android.internal.app.ResolverActivity:
ResolveInfo{415c13b8 com.android.internal.app.ResolverActivity p=0 o=0 m=0x0}
Run Code Online (Sandbox Code Playgroud)
该resolveActivity()文档在此状态:
返回ResolveInfo,其中包含被确定为最佳操作的最终活动意图.如果未找到匹配的活动,则返回null.如果找到多个匹配活动且没有默认设置,则返回包含其他内容的ResolveInfo,例如活动解析程序.
所以我已经介绍了第一个场景,即被确定为最佳动作的活动意图.最后一个场景,即没有默认操作的多个匹配活动,返回ResolverActivity.
我真的想重现resolveActivity()的场景,在请求URL的活动时给我一个null.有没有人知道如何在没有设备生根的情况下完成这项工作?
我们的移动Web应用程序包括一个交互式设计器,我们已经使用HTML5 canvas和Kinetic.js实现了这一点.我们试图在画布上动态渲染大约353个对象,其中178个是文本,其余是线和矩形.
在平移或缩放操作期间,画布变得无响应.看来这种行为仅在Android设备上展示,因为它在IOS上的效果非常好.我们也通过浏览器直接尝试了相同的应用程序,并注意到Android浏览器和chrome上类似的无响应行为.Firefox相对敏感.
我们确实尝试了以下链接中提供的选项,但问题仍然存在(即多个画布层)1)kineticjs 性能下降 2)HTML5 Canvas在某些移动浏览器中存在性能问题.
链接KineticJS中指定的方法- 使用Stage.draggable移动4000个图块, 如何在dragstart之前缓存整个图层并将其恢复为dragend?似乎很有希望,但我们可能无法使用它,因为我们的设计师将包含相当多的用户交互(如拖放绘图部分).
我也在这里找到了另一个问题,引用了类似的问题/sf/ask/1319776671/ECIF-pan-and-zoom-is-unre
是否有任何其他可能的解决方案/修复程序来改善此性能,请帮助.
编辑:我们在以下设备上测试了我们的应用程序1)Samsung Note 800(Android 4.1.2)2)Samsung Tab 2(Android 4.1.2)3)华硕Transformer Pad TF300TG(Android 4.2.1)和4)Nexus 7( Android 4.3).
android android-webview android-browser html5-canvas kineticjs
固定定位的div(带有文本'Din Score'的栏和其中的苹果)不会停留在页面底部.这个div类scrollingScoreBoard使用的是javascript,它将保持相对于桌面和笔记本电脑的视图,但会移动到移动视图上的固定位置.
但是,在三星Galaxy S和S II上,它并没有停留在底部.
对于这些特定的手机,我该如何将它固定在底部?
真正的工作地点在这里
HTC One X和三星Galaxy S的比较

所以这就是我所拥有的:
HTML:
<div id="scrollingScoreBoard">
<div class="currentScoreBox">
<div class="currentScoreText">
<p>Din Score</p>
</div>
<div class="greenAppleContainer">
<img class="appleGreenActive" src="eimg/blankApple.png" alt="" >
<img class="appleGreenDefault" src="eimg/blankApple.png" alt="" >
<img class="appleGreenDefault" src="eimg/blankApple.png" alt="" >
<img class="appleGreenDefault" src="eimg/blankApple.png" alt="" >
<img class="appleGreenDefault" src="eimg/blankApple.png" alt="" >
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#scrollingScoreBoard{
width: 320px;
color: white;
position: relative !important;
bottom: 0px;
margin:auto;
text-align:center;
left:0;
right:0;
background-color:#163c15;
z-index:1000;
clear:both;
}
.currentScoreBox{
position:relative;
background:url(../eimg/head_bg.png) 0 0 repeat …Run Code Online (Sandbox Code Playgroud) 我在屏幕底部有一个固定定位元素,除了Android浏览器底部控制栏覆盖我的元素外,它的效果非常好.它甚至不会触发窗口调整大小事件来尝试使用它.iOS Safari也有底部控制栏,但它正确地推动我的元素,它不会覆盖它.
我对任何建议持开放态度.
我下载了Android的浏览器项目(来自git)并将其导入Eclipse.但由于以下错误,我无法构建它:
无法解析java.lang.Enum类型.它是从所需的.class文件间接引用的
现在......这是一个非常适合其他项目的开发环境:
所以我不确定问题可能在哪里.
我该如何解决这个问题?
我正在构建一个使用搜索引擎搜索网络的应用.我的应用程序中有一个edittext,用户将从中搜索网页.我想像浏览器历史一样保存搜索关键字.我可以使用最后一个关键字保存并显示它,但我不能增加搜索结果的数量.我想显示最近的5个searhes.这是我的代码:
public class MainActivity extends Activity implements OnClickListener {
Button insert;
EditText edt;
TextView txt1, txt2, txt3, txt4, txt5;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt = (EditText) findViewById(R.id.search_word);
txt1 = (TextView) findViewById(R.id.txt1);
txt1.setOnClickListener(this);
insert = (Button) findViewById(R.id.insert);
insert.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if ((edt.getText().toString().equals(""))) {
Toast.makeText(
getBaseContext(),
"Whoa! You haven't entered anything in the search box.",
Toast.LENGTH_SHORT).show();
} else {
SharedPreferences app_preferences = PreferenceManager
.getDefaultSharedPreferences(MainActivity.this);
SharedPreferences.Editor editor = app_preferences.edit();
String text = edt.getText().toString();
editor.putString("key", …Run Code Online (Sandbox Code Playgroud) 如何捕获视频的事件ExitFullScreen?退出标签视频的FullScreen时,我需要重新绘制页面.
像标题一样.我想在我的应用程序中通过编码删除Android的浏览器的cookie,缓存.(浏览器不是webview)谢谢!
android-browser ×10
android ×5
javascript ×4
css ×2
html ×2
html5 ×2
java ×2
mobile ×2
eclipse ×1
html5-canvas ×1
kineticjs ×1
resolver ×1
webkit ×1