Webview 的自定义“撤消”
Posted
技术标签:
【中文标题】Webview 的自定义“撤消”【英文标题】:Custom "undo" for Webview 【发布时间】:2014-12-17 09:23:26 【问题描述】:好的,情况就是这样。我有:
一个Webview
很多NSTextField
s
其他不相关的控件
通常,Edit > Undo 菜单项链接到 First Responder 的 undo:
操作。一切正常 + 您甚至可以在输入 NSTextField
时“撤消”。
现在,如果我想以不同的方式处理这个“撤消”操作怎么办,只针对我的 WebView。
我一直在考虑两种方法:
将“撤消”项链接到自定义操作并检查谁是第一响应者。如果是 Webview,那么做需要做的事情。否则,将事件“传递”给控件。 (但是,当尝试 [FIRST_RESPONDER performSelector:@selector(undo:)]
时,首先它似乎无法识别选择器,最后但并非最不重要的一点是没有任何反应。)
将“撤消”链接到第一响应者的undo:
(像往常一样),将Webview 子类化并添加自定义- (void)undo:(id)sender
操作。但是在这种情况下,当 webview 处于活动状态时,“撤消”项是灰色的,所以我什么都做不了,甚至不检查是否会调用自定义方法。
建议?你会怎么做呢?
我错过了什么?
【问题讨论】:
【参考方案1】:我想这就是答案:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/WebKit/Protocols/WebEditingDelegate_Protocol/
另请参考:Removing undo actions for a WebView's NSUndoManager
【讨论】:
以上是关于Webview 的自定义“撤消”的主要内容,如果未能解决你的问题,请参考以下文章
(源码)解决Android的WebView加载失败(404,500),显示的自定义视图
在 Next JS 中,Material UI makeStyles 在刷新时撤消自定义 css