草庐IT

WKWebView_scripting

全部标签

html - 使用 WkWebview 强制 HTML 内容适应设备宽度

我有一个WkWebview应该显示HTML电子邮件的内容。问题是有时内容比窗口大,因此需要用户滚动才能看到完整的电子邮件。是否有可能避免这种情况并具有与默认iOS邮件应用程序类似的行为?事实上,在Mail应用程序中,无论是哪种电子邮件,内容似乎都是合适的。 最佳答案 您可以通过在网页加载后添加此代码来实现此目的。也就是在这个函数的最后funcwebView(_webView:WKWebView,didFinishnavigation:WKNavigation!)letjscript="varmeta=document.createE

javascript - WKWebView 返回(_ :) evaluateJavaScript Fails if going back more than 2 in history

我有一个函数可以追溯到我的WKWebView历史记录。这按预期工作,除非回溯历史超过2个。此时evaluateJavasScript功能不再发生在正确的历史记录项上。funcbackButtonClicked(){webView.goBack()webView.evaluateJavaScript("arrivedFromBackButton()"){(response,error)->Voidinprint(response)//webpageoutputsthetitleofthepage}}页面标题依次为:主页->用户信息->详情->历史如果在“History”上,我一遍又一遍地

html - 来自 html 字符串的 iOS Swift 4 图像未在 WKWebView 中加载

我在从WKWebView中的html字符串加载图像时遇到问题。在UIWebView中也不起作用。html字符串来自API,我必须按原样显示内容,我无法控制标签或内容。图像嵌入如下例所示。ThisisaheadingThisisaparagraphThisisanotherparagraph我尝试更改info.plist以启用应用程序传输安全设置,但没有任何变化。所有示例都在html文本中带有标签,但正如您在这里看到的,我必须从链接标签中显示它们。 最佳答案 添加内的标签,像这样,ThisisaheadingThisisaparagr

javascript - 无法将文本从 WKWebview 复制到剪贴板

我有WKWebview,它可以打开文本格式的谷歌文档。我试图将View中的文本复制为我的代码中的字符串我使用了自定义的UIMenJAuItem“Parse”,选中后会选择整个文本并将其复制到剪贴板。但问题是剪贴板无法在第一时间加载文本。我还尝试了在屏幕上评估Java脚本,但由于Apple的内容安全性而无法正常工作。无论如何,我能达到这个结果吗?以下是我未成功的尝试。//ThorughwebviewextensionViewController:WKNavigationDelegate{funcwebView(_webView:WKWebView,didFinishnavigation:

ios - WKWebView 没有出现在自定义 UIView 中

我有一个带有xib的自定义UIView。除了内容View外,xib是空的。在相应的类中我加载了xib,然后我尝试像这样创建一个WKWebView:@IBOutletvarcontentView:UIView!...Bundle.main.loadNibNamed("CustomView",owner:self,options:nil)addSubview(contentView)contentView.frame=self.boundsletwebConfiguration=WKWebViewConfiguration()webView=WKWebView(frame:self.fra

ios - WKWebView 在点击广告时没有响应。控制台消息 : [Accessibility] WKContentView

我正在使用WKWebView并设置了WKNavigationDelegate方法,一切看起来都很好。delegate方法按它们应有的方式响应,但不是我希望的100%。有些特定的广告是不可点击的。说不可点击我的意思是`funcwebView(_webView:WKWebView,decidePolicyFornavigationAction:WKNavigationAction,decisionHandler:@escaping(WKNavigationActionPolicy)->Void)`没有着火。并且让url的观察者至少看到哪种类型或URL仍然没有从那里得到结果。mainWebV

ios - iOS 13 beta 中 WKWebView 的 Intrinsic Content Size 问题

我试图在加载WKWebView时获取它的高度,并使用委托(delegate)方法更改TableView中单元格的高度。下面的代码在iOS12之前运行良好。当我尝试在iOS13beta中运行时,单元格高度不断增加,因为固有大小每次都不断增加1。有什么办法可以阻止吗?overridevarintrinsicContentSize:CGSize{print("intrinsiccontentsizeid\(self.scrollView.contentSize.height)")self.delegate?.changeHeight(self.scrollView.contentSize.h

ios - 滚动不适用于 iOS 13 beta 上的 WKWebView

我在WKWebView中加载自定义HTML,在视口(viewport)中设置属性width=device-width。这在iOS12中完美运行,但在使用iOS13(beta7)时出现滚动问题。特别是当使用width=device-width时,无法滚动webview,所以部分内容不可见。只有当用户捏合缩放时才有可能这样做,然后神奇地开始可以滚动(水平和垂直)。我在文档中没有找到任何关于iOS13中WKWebView(甚至ScrollView)的更改可以证明这一点。我错过了什么吗?或者这可能是iOS13/Xcode11的错误? 最佳答案

ios - WKWebView 的网页不显示 dispatch_get_main_queue 内的页面

我正在尝试在后台进程中创建多个WKWebViewView,然后在它们全部完成加载后将它们添加到主线程上的View。每个WKWebView都包含一个通过javascript呈现的图表,因此每个WKWebView的加载时间大约需要一秒钟,所以我试图将处理卸载到后台,这样UI就不会被阻塞。当dispatch_get_main_queue被注释掉时,这工作正常,但是ui被阻塞了5-10秒。只显示WKWebView的棕色背景,没有网页内容。varwebViews:[WKWebView]=[]varmyQueue=dispatch_get_global_queue(DISPATCH_QUEUE_P

开发安全之:Cross-Site Scripting: Poor Validation

Overview在php中,程序会使用HTML、XML或其他类型的编码,但这些编码方式并不总是能够防止恶意代码访问Web浏览器。Details使用特定的编码函数(例如htmlspecialchars()或htmlentities())能避免一部分cross-sitescripting攻击,但不能完全避免。根据数据出现的上下文,除HTML编码的基本字符、&和"以及XML编码的字符、&、"和'之外(仅当已设置ENT_QUOTES时),其他字符可能具有元意。依靠此类编码函数等同于用一个安全性较差的拒绝列表来防止cross-sitescripting攻击,并且可能允许攻击者注入恶意代码,并在浏览器中加