Ios app extension Safari(主机应用程序)是否将所选文本提供给应用程序扩展?

Ios app extension Safari(主机应用程序)是否将所选文本提供给应用程序扩展?,ios-app-extension,Ios App Extension,是否可以从safari(主机应用程序)获取文本选择到应用程序扩展,或者仅获取URL?是,这是可能的。您可以创建一个JavaScript文件作为操作扩展名的一部分。这在中进行了描述,因为您还必须向扩展名的Info.plist添加一个NSExtensionJavaScriptPreprocessingFile键 在JavaScript文件中,您可以定义一个run函数,该函数允许您定义传递给本机扩展代码的值。在这里,您可以获取所选文本,如中所示,并将其传递给分机 下面是一个简单的示例,说明了这在Jav

是否可以从safari(主机应用程序)获取文本选择到应用程序扩展,或者仅获取URL?

是,这是可能的。您可以创建一个JavaScript文件作为操作扩展名的一部分。这在中进行了描述,因为您还必须向扩展名的Info.plist添加一个
NSExtensionJavaScriptPreprocessingFile

在JavaScript文件中,您可以定义一个
run
函数,该函数允许您定义传递给本机扩展代码的值。在这里,您可以获取所选文本,如中所示,并将其传递给分机

下面是一个简单的示例,说明了这在JavaScript端可能如何工作:

var MyExtensionJavaScriptClass=function(){};
MyExtensionJavaScriptClass.prototype={
运行:函数(参数){
//将所选文本通过
arguments.completionFunction({“text”:window.getSelection().toString()});
}
};
//JavaScript文件必须包含名为“ExtensionPreprocessingJS”的全局对象。
var ExtensionPreprocessingJS=新的MyExtensionJavaScriptClass;

是,这是可能的。您可以创建一个JavaScript文件作为操作扩展名的一部分。这在中进行了描述,因为您还必须向扩展名的Info.plist添加一个
NSExtensionJavaScriptPreprocessingFile

在JavaScript文件中,您可以定义一个
run
函数,该函数允许您定义传递给本机扩展代码的值。在这里,您可以获取所选文本,如中所示,并将其传递给分机

下面是一个简单的示例,说明了这在JavaScript端可能如何工作:

var MyExtensionJavaScriptClass=function(){};
MyExtensionJavaScriptClass.prototype={
运行:函数(参数){
//将所选文本通过
arguments.completionFunction({“text”:window.getSelection().toString()});
}
};
//JavaScript文件必须包含名为“ExtensionPreprocessingJS”的全局对象。
var ExtensionPreprocessingJS=新的MyExtensionJavaScriptClass;

是,这是可能的。您可以创建一个JavaScript文件作为操作扩展名的一部分。这在中进行了描述,因为您还必须向扩展名的Info.plist添加一个
NSExtensionJavaScriptPreprocessingFile

在JavaScript文件中,您可以定义一个
run
函数,该函数允许您定义传递给本机扩展代码的值。在这里,您可以获取所选文本,如中所示,并将其传递给分机

下面是一个简单的示例,说明了这在JavaScript端可能如何工作:

var MyExtensionJavaScriptClass=function(){};
MyExtensionJavaScriptClass.prototype={
运行:函数(参数){
//将所选文本通过
arguments.completionFunction({“text”:window.getSelection().toString()});
}
};
//JavaScript文件必须包含名为“ExtensionPreprocessingJS”的全局对象。
var ExtensionPreprocessingJS=新的MyExtensionJavaScriptClass;

是,这是可能的。您可以创建一个JavaScript文件作为操作扩展名的一部分。这在中进行了描述,因为您还必须向扩展名的Info.plist添加一个
NSExtensionJavaScriptPreprocessingFile

在JavaScript文件中,您可以定义一个
run
函数,该函数允许您定义传递给本机扩展代码的值。在这里,您可以获取所选文本,如中所示,并将其传递给分机

下面是一个简单的示例,说明了这在JavaScript端可能如何工作:

var MyExtensionJavaScriptClass=function(){};
MyExtensionJavaScriptClass.prototype={
运行:函数(参数){
//将所选文本通过
arguments.completionFunction({“text”:window.getSelection().toString()});
}
};
//JavaScript文件必须包含名为“ExtensionPreprocessingJS”的全局对象。
var ExtensionPreprocessingJS=新的MyExtensionJavaScriptClass;


我刚刚尝试用Xcode 6.2b2创建一个操作扩展,但是没有
action.js
文件。您采取了哪些步骤使Xcode包含该文件?这是Xcode 6.1.1中默认模板的一部分。如果愿意,您可以自己添加这些文件。请参阅,以了解您还需要进行的Info.plist更改。我想说的是,当我尝试它时,它不是模板的一部分。如果添加操作扩展名,则Xcode创建的模板不包含该文件。该页面也不表示该文件包含在模板中。如果您看到这种情况发生,请更详细地描述您正在做什么,因为我无法让Xcode来做。因为它不在模板中,您只需自己创建js文件即可。然后,按照链接文档中的说明,将相关键添加到Info.plist。您应该更新您的答案,使其不会声称这是自动包含的。我刚刚尝试使用Xcode 6.2b2创建了一个操作扩展,但没有
action.js
文件。您采取了哪些步骤使Xcode包含该文件?这是Xcode 6.1.1中默认模板的一部分。如果愿意,您可以自己添加这些文件。请参阅,以了解您还需要进行的Info.plist更改。我想说的是,当我尝试它时,它不是模板的一部分。如果添加操作扩展名,则Xcode创建的模板不包含该文件。该页面也不表示该文件包含在模板中。如果您看到这种情况发生,请更详细地描述您正在做什么,因为我无法让Xcode来做。因为它不在模板中,您只需自己创建js文件即可。然后,按照链接文档中的说明,将相关键添加到Info.plist中。您应该更新您的答案,使其不会声称这是自动包含的。我刚刚尝试使用Xcode 6.2b2创建操作扩展,但没有
Act