123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { faceShareRedirectUrl } from '@/http/configAPI'
- import { getChromeStorage } from '@/uilts/chromeExtension.js'
- let tempData = {
- isSetContent: false
- }
- /**
- * 初始化contentjs调用逻辑
- */
- export function initFacebookContent() {
- // window.location.href.indexOf('facebook.com') > -1;
- injectShareCode();
- shareCallback();
- };
- /**
- * 注入分享页面逻辑
- * @returns
- */
- function injectShareCode() {
- const {href, pathname} = window.location;
- if(!(href.indexOf('facebook.com') > -1 && pathname.indexOf('dialog/share') > -1)) {
- return;
- }
- // 设置分享内容
- setShareInputContent();
- }
- /**
- * 格式化发布内容字符串
- */
- function formatContentStr(content) {
- let str = content.replace(/(\r)/g,'\n');
- return str;
- }
- /**
- * 设置分享输入框内容
- */
- async function setShareInputContent() {
- let shareData = await getChromeStorage('shareFacebookData') || {};
- const contentStr = formatContentStr(shareData.contentStr);
- if (!tempData.isSetContent && contentStr) {
- tempData.isSetContent = true;
- document.execCommand("insertText", false, contentStr);
- setTimeout(() => {
- tempData.isSetContent = false;
- }, 300)
- }
- }
- /**
- * 分享回调
- */
- function shareCallback() {
- if (window.location.href.indexOf(faceShareRedirectUrl) > -1) {
- const urlParams = new URLSearchParams(window.location.search);
- let params = JSON.parse(urlParams.get('params'));
- if (params) {
- chrome.storage.local.remove("shareFacebookData");
- chrome.runtime.sendMessage({ actionType: "CONTENT_FACEBOOK_SHARE_SUCCESS", data: params })
- }
- }
- }
|