Safari(主机应用程序)将所选文本提供给App Extension?

时间:2015-01-03 22:20:17

标签: ios-app-extension

可以从safari(主机应用)到应用扩展程序,或仅从URL中选择文本吗?

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。您可以创建JavaScript文件作为Action Extension的一部分。 documentation中对此进行了描述,因为您还必须在扩展程序的Info.plist中添加NSExtensionJavaScriptPreprocessingFile密钥。

在JavaScript文件中,您可以定义run函数,该函数允许您定义要传递给本机扩展代码的值。在这里,您可以获得other questions中显示的所选文字,并将其传递到您的扩展程序。

以下是一个关于如何在JavaScript方面起作用的快速示例:

var MyExtensionJavaScriptClass = function() {};

MyExtensionJavaScriptClass.prototype = {
    run: function(arguments) {
        // Pass the selected text through
        arguments.completionFunction({"text": window.getSelection().toString()});
    }
};

// The JavaScript file must contain a global object named "ExtensionPreprocessingJS".
var ExtensionPreprocessingJS = new MyExtensionJavaScriptClass;