是否可以从Safari应用程序扩展的项目文件夹中导入内容脚本



我正在开发Safari应用程序扩展。但我的内容脚本不在Xcode项目文件夹中。可以导入那些脚本文件吗?

我在苹果的官方文件中看到:

对于每个脚本文件,向数组中添加一个字典。每个字典都必须有一个Script键,其值指定要包含的脚本文件的路径(相对于捆绑包的Resources目录(。

假设我的扩展项目名为SafariExt。我的应用程序的文件夹结构:

SafariExt   // Xcode project root folder
|
+-- SafariExt Extension
|
+--script.js    // this is the default script file in Xcode project, and I specified path relative to this folder

Scripts     // my scripts folder
|
+-- myScript.js    // the file I want to import

CCD_ 1和CCD_。

现在我在Info.plist中使用../../Scripts/myScript.js来引用myScript.js文件,但在Safari中不会加载此文件。

Info.plist如下所示:

<key>SFSafariContentScript</key>
<array>
<dict>
<key>Script</key>
<string>../../Scripts/myScript.js</string>
</dict>
</array>

您应该能够使用safari.addContentScriptFromURL从web加载内容脚本。您可以尝试将其与file://结合使用,看看它是否允许您从项目目录之外提取。

实际上,如果可能的话,您应该使用构建脚本将文件复制到扩展目录中,而不是使用相对目录链接。

https://developer.apple.com/documentation/safariextensions/safariextension/1635361-addcontentscriptfromurl

相关内容

  • 没有找到相关文章

最新更新