|
@@ -541,26 +541,53 @@ export const _setPublishContent = throttle(function (content, time = 1000) {
|
|
|
}, 800);
|
|
|
|
|
|
|
|
|
-const setDialogPublishContent = throttle(function (content) {
|
|
|
- setTimeout(() => {
|
|
|
- let inputEle;
|
|
|
- let dialog = document.querySelector('div[role="dialog"]');
|
|
|
- if (dialog) {
|
|
|
- inputEle = dialog.querySelector('div[contenteditable="true"]');
|
|
|
- } else {
|
|
|
- inputEle = document.querySelector('div[contenteditable="true"]');
|
|
|
- }
|
|
|
- const dataTransfer = new DataTransfer();
|
|
|
- dataTransfer.setData('text', content);
|
|
|
- const event = new ClipboardEvent('paste', {
|
|
|
- clipboardData: dataTransfer,
|
|
|
- bubbles: true
|
|
|
- });
|
|
|
- if (inputEle) {
|
|
|
- inputEle.dispatchEvent(event);
|
|
|
- }
|
|
|
- }, 800)
|
|
|
-}, 600);
|
|
|
+const setDialogPublishContent = (content) => {
|
|
|
+ console.log('setDialogPublishContent');
|
|
|
+ let targetNode = document.querySelector('main');
|
|
|
+ let timer = null;
|
|
|
+ let observer;
|
|
|
+
|
|
|
+ timer = setTimeout(() => {
|
|
|
+ observer.disconnect();
|
|
|
+ document.execCommand("insertText", false, content);
|
|
|
+ console.log('changeCallback --> execCommand');
|
|
|
+ }, 3000)
|
|
|
+
|
|
|
+ const changeCallback = (mutationsList, obs) => {
|
|
|
+ let inputEle;
|
|
|
+ let dialog = document.querySelector('div[role="dialog"]');
|
|
|
+ if (dialog) {
|
|
|
+ inputEle = dialog.querySelector('div[contenteditable="true"]');
|
|
|
+ } else {
|
|
|
+ inputEle = document.querySelector('div[contenteditable="true"]');
|
|
|
+ }
|
|
|
+ console.log('changeCallback', inputEle);
|
|
|
+ if(inputEle) {
|
|
|
+ observer.disconnect();
|
|
|
+ clearTimeout(timer);
|
|
|
+
|
|
|
+ if(!isSetContent) {
|
|
|
+ isSetContent = true;
|
|
|
+ const dataTransfer = new DataTransfer();
|
|
|
+ dataTransfer.setData('text', content);
|
|
|
+ const event = new ClipboardEvent('paste', {
|
|
|
+ clipboardData: dataTransfer,
|
|
|
+ bubbles: true
|
|
|
+ });
|
|
|
+ inputEle.dispatchEvent(event);
|
|
|
+ console.log('changeCallback --> dispatchEvent');
|
|
|
+
|
|
|
+ setTimeout(() => {
|
|
|
+ isSetContent = false;
|
|
|
+ }, 1500)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ observer = new MutationObserver(changeCallback);
|
|
|
+ const config = { attributes: true, childList: true, subtree: true };
|
|
|
+ observer.observe(targetNode, config);
|
|
|
+}
|
|
|
|
|
|
/**
|
|
|
* 创建deNet按钮 添加到页面
|