发布内容原理
发布函数
在 src/components/Sync 文件夹中,有对应不同平台的发布组件,例如 DynamicTab、ArticleTab、VideoTab 等。
它们在组织好发布所需的信息,即 SyncData 类型的数据后,会调用 src/options/index.tsx 文件中的 funcPublish 函数来进行标签页的创建和脚本的注入。
创建标签页
在上一节,我们看到 funcPublish 函数会调用 createTabsForPlatforms 函数来创建标签页,并在之后调用 injectScriptsToTabs 函数来注入脚本。这两个函数在 src/sync/common.ts 文件中。
它的原理是使用了 chrome.tabs 和 chrome.scripting 的 API 来创建标签页和注入脚本。
注入脚本
在 injectScriptsToTabs 函数中,我们为每个标签页添加了监听器,当标签页加载完成后,会调用 getDefaultPlatformInfo 函数来获取平台信息,并注入脚本。