发布内容原理
发布函数
在 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
函数来获取平台信息,并注入脚本。