我正在为iOS开发PhoneGap应用程序,我需要在键盘上禁用自动预测文本.
我找到了很多UITextView像这样的解决方案:
在UITextView上以编程方式禁用iOS8 Quicktype键盘
ios8 xcode如何在UIKeyboard上删除QuickType(自动完成/自动建议)
...但PhoneGap应用程序UIWebBrowserView内部.
我也知道用于禁用自动预测的html属性.它们只适用于常规的html输入,但我的contenteditable元素是我UIWebBrowserView的文本编辑器的可编辑区域(在我的例子中是CKEditor).
<!-- Does not work -->
<div contenteditable="true" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
</div>
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法在iOS上以编程方式禁用自定义元素的自动预测功能?
非常感谢任何帮助!
我正在尝试在我的网页上创建 Worker:
const url = URL.createObjectURL(blob);
const worker = new Worker(url);
Run Code Online (Sandbox Code Playgroud)
Safari 在控制台中显示以下错误:
拒绝加载 blob:https://my.address.com/5fa7b5e6-cb10-4b7c-967b-e95cae58cd71,因为它既没有出现在内容安全策略的 child-src 指令中,也没有出现在 default-src 指令中。
我的页面上有以下内容安全策略标签:
<meta http-equiv="Content-Security-Policy" content="worker-src 'self' blob:">
Run Code Online (Sandbox Code Playgroud)
但 Safari 似乎忽略了它。我敢打赌我尝试了 SCP 指令(例如worker-src、object-src、script-src、child-src 等)和源(*、blob:、'unsafe-eval'、'unsafe-inline)的所有可能组合', ETC。)
感谢任何想法!
注意事项:
我正在为iOS开发PhoneGap应用程序,我需要摆脱新的iOS 9快捷键.现在我在该- (void)viewDidLoad方法中执行以下操作
if ([self.webView respondsToSelector:@selector(inputAssistantItem)]) {
UITextInputAssistantItem *inputAssistantItem = [self.webView inputAssistantItem];
inputAssistantItem.leadingBarButtonGroups = @[];
inputAssistantItem.trailingBarButtonGroups = @[];
}
Run Code Online (Sandbox Code Playgroud)
这隐藏了撤消/重做和复制/粘贴按钮,但快捷栏仍然显示在键盘上并且上面有导航按钮.
我怎样才能完全摆脱快捷栏.
谢谢你的帮助!
*** 更新1 ***
我的完整工作代码如下.希望这可以帮到某人(感谢@Clement的回复)
#import <objc/runtime.h>
- (void) hideKeyboardShortcutBar: (UIView *)view
{
for (UIView *sub in view.subviews) {
[self hideKeyboardShortcutBar:sub];
if ([NSStringFromClass([sub class]) isEqualToString:@"UIWebBrowserView"]) {
Method method = class_getInstanceMethod(sub.class, @selector(inputAccessoryView));
IMP newImp = imp_implementationWithBlock(^(id _s) {
if ([sub respondsToSelector:@selector(inputAssistantItem)]) {
UITextInputAssistantItem *inputAssistantItem = [sub inputAssistantItem];
inputAssistantItem.leadingBarButtonGroups = @[];
inputAssistantItem.trailingBarButtonGroups = @[];
}
return nil;
});
method_setImplementation(method, …Run Code Online (Sandbox Code Playgroud)