我<input type="file">在android webview上使用了它.我得到了它的工作感谢这个线程:
WebView中的文件上传
但接受的答案(或任何其他)不再适用于android 4.4 kitkat webview.
有谁知道如何解决它?
它也不适用于目标18.
我看了一些android 4.4源代码,似乎WebChromeClient没有改变,但我认为setWebChromeClient不再适用于kitkat webview,或者至少不是这个openFileChooser功能.
我不久前开发了一款游戏.游戏包含西班牙地图,你必须猜测一个城市在该地图上的位置(我也有EEUU和中国版本)我用iOS 5基础开发所有这些,并使用iOS 5 sdk.
然后,3周前我更新了西班牙语游戏,我不得不使用iOS 6 sdk,在模拟器和我的ipad 2(iOS 5.0.1)和iPod touch(iOS 5.1)上看起来都很好,并发布了更新.
但是当人们开始下载或更新新版本时,他们中的一些人联系了我,因为地图不适合屏幕.
这是我如何在我的设备和模拟器上看到游戏的屏幕截图.(视听和普通模式下的iPad 5.0.1和5.0,6.0和6.1的模拟器)

这是如何在其他人设备上显示的屏幕截图.(带有iOS 6.0的iPad 3和带有iOS 6.0.1的iPad 2)

这是我的iPad代码(据我所知,iPhone正在按预期工作)
CLLocationCoordinate2D centerLocation;
MKCoordinateRegion region;
centerLocation.latitude = 39.016740;
centerLocation.longitude = -5.93504;
region = MKCoordinateRegionMakeWithDistance(centerLocation, 0, 800000);
[map setRegion:region];
Run Code Online (Sandbox Code Playgroud)
起初我认为这是一个视网膜问题,因为第一个联系我的人使用的是iPad 3,我在星期一修复了iPad视网膜的地图,但昨天我收到了来自另一个用iPad 2的用户的相同信息.
那么,我做错了什么?是iOS版本之间的setRegion不一致吗?如果它在模拟器上工作正常,我该如何测试我的代码?
有人可以在真实设备上尝试我的代码并告诉我他们是否像第一个或第二个那样获得地图?
编辑1: 接受答案后的最终想法:这不是iOS版本之间的问题,它似乎是一个计时问题,如果您在视图出现之前或之后设置它,该区域是不同的.它发生在iOS 5和iOS 6中.
iOS 5和iOS 6之间的唯一区别发生在真实设备上,如果您在地图出现之前设置区域,它会保持原样,但在模拟器上的iOS 6上它将保持不变,但在真实设备上,它将显示为视图出现时设置的区域.
因此,解决方案是设置区域viewDidAppear,它将在iOS 5和iOS 6上以相同的方式显示在模拟器和真实设备上.
编辑2:
似乎区域上的0也与问题有关,如果我使用region = MKCoordinateRegionMakeWithDistance(centerLocation, 800000, 800000);区域在视图加载之前和之后是相同的,至少在模拟器上.如果我使用region = MKCoordinateRegionMakeWithDistance(centerLocation, 0, 800000);该区域是不同的,如果我在视图加载之前使用它,并在我稍后使用时显示"缩放".
我会等到我收到iOS6的iPad视网膜以继续测试这个问题.
我的第一个jquery移动应用程序包含需要来自互联网资源的数据,例如公共谷歌日历和亚马逊联盟小部件,但只有当我在我的Chrome浏览器或使用html5应用程序测试器的Kindle Fire设备上进行测试时,它才有效.如果我用在线Phonegap构建android release apk,那么Kindle和其他Android设备就像联想手机一样无法在应用程序中连接到Internet.我已经阅读了这个问题的所有主题,并发现它被建议<access origin="*" subdomains="true" />在config.xml中使用,但它无效.我还在应用程序中添加了代码片段,如:
if (navigator.onLine) {
$("#ifonline").append("Online");
} else {
$("#ifonline").append("offline");
}
var isOffline = 'onLine' in navigator && !navigator.onLine;
if ( isOffline ) {
$("#ifonline2").append("Status: offline");
}
else {
$("#ifonline2").append("online");
}
Run Code Online (Sandbox Code Playgroud)
但结果却一无所获.我的config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "com.myapp.myapptodo"
versionCode = "10"
version = "1.0.0" >
<name>myapp</name>
<description>
myapp is very good but can't find that &@?ä? wifi!
</description>
<author href="https://mysite" email="mymail">
Ceatos
</author>
<gap:plugin name="org.apache.cordova.network-information" …Run Code Online (Sandbox Code Playgroud) 我安装了WebStorm和Android Studio.我设置了Android SDK和Java环境变量.我最初有这个错误(https://github.com/phonegap/phonegap-cli/issues/685),我通过提取该帖子中提到的模板文件夹来修复它.
当我在WebStorm中运行PhoneGap演示项目时,我现在得到:
BUILD SUCCESSFUL
Total time: 0.653 secs
Built the following apk(s):
/home/user/WebstormProjects/PageLoad/platforms/android/build/outputs/apk/android-debug.apk
ANDROID_HOME=/home/user/Android/Sdk
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Error: android: Command failed with exit code 2
Run Code Online (Sandbox Code Playgroud)
所以我然后phonegap run android --verbose从CLI 运行,我得到:
Built the following apk(s):
/home/user/WebstormProjects/PageLoad/platforms/android/build/outputs/apk/android-debug.apk
No scripts found for hook "before_deploy".
ANDROID_HOME=/home/user/Android/Sdk
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Running command: adb devices
Command finished with error code 0: adb devices
No target specified and no devices found, deploying to emulator
Running command: adb devices
Command finished with error code 0: adb …Run Code Online (Sandbox Code Playgroud) ViewController A上有一个按钮,按下时应该带我到ViewControllerB,它有一个UIWebView.该Web视图应加载网站的桌面版本.
这些是我采取的步骤:
ViewController A - 触摸按钮
ViewController B - UIWebView加载网站的移动版本而不是桌面版本.
NavigationController - 触摸后退按钮 - >将我们带回ViewController A.
ViewController A - 再次触摸按钮
ViewController B - UIWebView根据需要加载桌面版本.
第一次(步骤2),UIWebView没有加载正确的URL,第二次(步骤5)它加载正确的URL.
查看A-
-(IBAction)ButtonPressed:(id)sender{
HomeAppDelegate *myDelegate = (HomeAppDelegate *)[[UIApplication sharedApplication]delegate];
NSString *titleCaption;WebPageViewController *chosenViewController = [[WebPageViewController alloc] initWithNibName:@"WebPageViewController" bundle:nil];
titleCaption = @"Web PAGE";
chosenViewController.url = [NSURL URLWithString:@"http://www.mydesktopwebsite.com"];
[self.navigationController pushViewController:chosenViewController animated:YES];
myDelegate.navBar.topItem.title = titleCaption;
[chosenViewController release];
}
Run Code Online (Sandbox Code Playgroud)
视图B - WebPageViewController.h
@property (retain, nonatomic) IBOutlet UIWebView *WebView;
@property (retain, nonatomic) NSURL *url;
Run Code Online (Sandbox Code Playgroud)
WebPageViewController.m
@synthesize url;
- (void)viewDidLoad{
[super viewDidLoad]; …Run Code Online (Sandbox Code Playgroud) 从iOS 11开始,当UIWebView全屏显示时,状态栏上会出现一个假背景,背景颜色相同UIWebView.
谁知道如何摆脱它?
即使添加IUWebView到故事板并使其全屏显示也会显示状态栏背景
我一直在尝试编辑UIWebView的大小和其他一些属性,但它们都没有用,但它肯定来自UIWebView.还尝试查看所有子视图和它的大小,并没有看到任何奇怪的.
附上屏幕截图,看到灰色的"状态栏",它在滚动时消失,如果UIWebView没有超过屏幕的那一部分则不会出现.我希望它在第二个截图中,只删除假背景,而不是状态栏.