当在OSX上从chrome复制URL并粘贴到可编辑的WebKit When视图时,什么都不会被粘贴。
我验证了NSPasteboard上有一些项,并且NSPasteboardItem有以下类型:
"dyn.ah62d4rv4gu8zs3pcnzme2641rf4guzdmsv0gn64uqm10c6xenv61a3k",
"dyn.ah62d4rv4gu8yc6durvwwaznwmuuha2pxsvw0e55bsmwca7d3sbwu",
"public.utf8-plain-text",
"dyn.ah62d4rv4gu8yg55wqzkgc65yqzvg82pwqvdg22p0r73fk8puqyuda8b1gy5xerwdgk2a",
"dyn.ah62d4rv4gu8yg55wqzkgc65yqzvg82pwqvdg22p0r73fk8puqyuda8b1gy5xerwdg3cu"我知道这些是自动生成的,并映射到WebURLsWithTitlesPboardType。
在执行从safari到webview的相同操作时,它可以工作,因为它只包含
"public.utf8-plain-text"是否有更好地处理这些UTI的已知解决办法?
发布于 2016-06-12 13:26:22
Webkit Webkit视图似乎不支持动态UTI的粘贴操作。为此,我在webview:doCommandBySelector中截获粘贴:被截获时,重新创建了没有这些UTI的pasteboard项目:
- (void)cleanupPasteboard:(NSPasteboard *)pasteboard {
NSMutableArray *newItems = [[NSMutableArray alloc] init];
for (NSPasteboardItem *item in pasteboard.pasteboardItems) {
NSPasteboardItem *newItem = [[NSPasteboardItem alloc] init];
for (NSString *type in item.types) {
if (![type hasPrefix:@"dyn"]) {
[newItem setData:[item dataForType:type] forType:type];
}
}
[newItems addObject:newItem];
}
[pasteboard clearContents];
[pasteboard writeObjects:newItems];
}https://stackoverflow.com/questions/37762008
复制相似问题