如何在Safari应用程序扩展中从Safari中获取所选文本? 这是我的代码,但是从网页上什么也收不到。有人有使用safari应用程序扩展程序保存所选文本的示例代码吗?
我的Safari是12版,xcode是10.3版
import SafariServices
class SafariExtensionHandler: SFSafariExtensionHandler {
override func contextMenuItemSelected(withCommand command: String, in page: SFSafariPage, userInfo: [String : Any]? = nil) {
var str2 : String = "The extension received a message (\(command)) from a script injected into (\(String(describing: properties?.url))) with userInfo (\(userInfo ?? [:]))"
NSLog(str2)
do{
let documentpath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.downloadsDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
var p1 : String = documentpath[0] + "/gg1.txt"
try str2.write(toFile: p1, atomically: true, encoding: String.Encoding.utf8)
}
catch let error {
print(error)
}
}
...........
script.js是:
'use strict';
document.addEventListener('contextmenu', (event) => {
var selectedText = window.getSelection().toString();
safari.extension.setContextMenuEventUserInfo(event,{ "selectedText": selectedText });
}