我正在为 safari 开发扩展。我已经检查过我们可以在主机应用程序和扩展程序之间进行通信,因为我们可以运行扩展程序或关闭扩展程序。但就我而言,我想在不关闭扩展程序应用程序的情况下与主机应用程序通信。
var MyExtensionJavaScriptClass = function() {};
MyExtensionJavaScriptClass.prototype = {
run: function(arguments) {
arguments.completionFunction({"baseURI": document.documentElement.innerHTML});
},
test: function(arguments) {
alert("Need to run without closing extension");
},
finalize: function(arguments) {
alert("Test Done");
// arguments contains the value the extension provides in [NSExtensionContext completeRequestReturningItems:expirationHandler:completion:].
// In this example, the extension provides a color as a returning item.
document.body.style.backgroundColor = arguments["bgColor"];
}
};
var ExtensionPreprocessingJS = new MyExtensionJavaScriptClass;
在我的 JavaScript 文件上方,我运行了在扩展运行时运行的函数,并在我们在 objc 端调用 completeRequestReturningItems 时完成有趣的运行。我想在不关闭扩展的情况下运行我的测试函数