|
@@ -1,49 +1,87 @@
|
|
-console.log('123 world content todo something~')
|
|
|
|
-let span = document.createElement('span');
|
|
|
|
-
|
|
|
|
-const shadowRoot = span.attachShadow({mode: 'closed'})
|
|
|
|
|
|
+let deIcon = document.createElement('span');
|
|
|
|
+const shadowRoot = deIcon.attachShadow({mode: 'closed'})
|
|
const shadowDiv = document.createElement('div');
|
|
const shadowDiv = document.createElement('div');
|
|
-shadowDiv.innerText = 'Test Btn'
|
|
|
|
-shadowRoot.appendChild(shadowDiv)
|
|
|
|
-let tweet;
|
|
|
|
|
|
+shadowDiv.innerText = 'Test Btn';
|
|
|
|
+shadowDiv.id = 'de-icon';
|
|
|
|
+shadowRoot.appendChild(shadowDiv);
|
|
|
|
+let tweetBtn;
|
|
|
|
|
|
|
|
+deIcon.addEventListener('click', () => {
|
|
|
|
+ document.getElementById('iframe-test').contentWindow.postMessage({actionType : 'showGiveDialog'}, '*');
|
|
|
|
+})
|
|
|
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
addIframe();
|
|
addIframe();
|
|
-
|
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- addDeNetBtn(span);
|
|
|
|
- tweet = document.querySelectorAll('[aria-label="Tweet"]')[0];
|
|
|
|
- tweet.addEventListener('click', function () {
|
|
|
|
- addDeNetBtn(span);
|
|
|
|
|
|
+ tweetBtn = document.querySelector('a[data-testid="SideNav_NewTweet_Button"]');
|
|
|
|
+ tweetBtn.addEventListener('click', function () {
|
|
})
|
|
})
|
|
}, 1000)
|
|
}, 1000)
|
|
})
|
|
})
|
|
|
|
|
|
-function addDeNetBtn (dom) {
|
|
|
|
|
|
+window.addEventListener('message', function (event) {
|
|
|
|
+ if (event.data && event.data.actionType) {
|
|
|
|
+ let iframe = document.getElementById('iframe-test');
|
|
|
|
+ switch (event.data.actionType) {
|
|
|
|
+ case "showIframe":
|
|
|
|
+ iframe.style.display = 'block';
|
|
|
|
+ break;
|
|
|
|
+ case "hideIframe":
|
|
|
|
+ iframe.style.display = 'none';
|
|
|
|
+ break;
|
|
|
|
+ case "showTwitterPublishDialog":
|
|
|
|
+ iframe.style.display = 'none';
|
|
|
|
+ tweetBtn.click();
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ console.log('message',event);
|
|
|
|
+});
|
|
|
|
+
|
|
|
|
+function addDeNetBtn (parent, dom, isClick = false) {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- let scheduleTweet = document.querySelectorAll('[aria-label="Schedule Tweet"]')[0];
|
|
|
|
- if (scheduleTweet) {
|
|
|
|
- scheduleTweet.parentNode.insertBefore(dom, scheduleTweet.nextSibling);
|
|
|
|
|
|
+ if (parent) {
|
|
|
|
+ parent.parentNode.insertBefore(dom, parent.nextSibling);
|
|
} else {
|
|
} else {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- scheduleTweet = document.querySelectorAll('[aria-label="Schedule Tweet"]')[0];
|
|
|
|
- scheduleTweet.parentNode.insertBefore(dom, scheduleTweet.nextSibling);
|
|
|
|
-
|
|
|
|
|
|
+ parent = getScheduleDom(isClick);
|
|
|
|
+ parent.parentNode.insertBefore(dom, parent.nextSibling);
|
|
}, 1000)
|
|
}, 1000)
|
|
}
|
|
}
|
|
-
|
|
|
|
- dom.addEventListener('click', () => {
|
|
|
|
- console.log('click', 8888, )
|
|
|
|
- document.getElementById('iframe-test').contentWindow.postMessage({a : 1}, '*');
|
|
|
|
- })
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+function getScheduleDom (isDialogInner = false) {
|
|
|
|
+ let scheduleBtn;
|
|
|
|
+ if (isDialogInner) {
|
|
|
|
+ scheduleBtn = document.querySelector('div[role="dialog"]').querySelector('[data-testid="createPollButton"]');
|
|
|
|
+ } else {
|
|
|
|
+ // eslint-disable-next-line no-unused-vars
|
|
|
|
+ let toolBar = document.querySelector('div[data-testid="toolBar"]');
|
|
|
|
+ if (toolBar) {
|
|
|
|
+ scheduleBtn = toolBar.querySelector('div[data-testid="createPollButton"]');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return scheduleBtn;
|
|
|
|
+}
|
|
|
|
+
|
|
function addIframe () {
|
|
function addIframe () {
|
|
- let iframe = document.createElement('iframe')
|
|
|
|
|
|
+ // let span = document.createElement('span');
|
|
|
|
+ // const shadowRoot = span.attachShadow({mode: 'closed'})
|
|
|
|
+ let iframe = document.createElement('iframe');
|
|
iframe.src = chrome.runtime.getURL('/iframe/test.html')
|
|
iframe.src = chrome.runtime.getURL('/iframe/test.html')
|
|
iframe.id = 'iframe-test'
|
|
iframe.id = 'iframe-test'
|
|
- iframe.style.cssText = 'position:fixed;top:0px;right:0;display:block; width:500px;height:500px;z-index:1000; border: medium none;';
|
|
|
|
|
|
+ iframe.style.cssText = 'position:fixed;top:0px;right:0;display:block; width:100%;height:100%;z-index:1000; border: medium none;display:none';
|
|
|
|
+ // shadowRoot.appendChild(iframe);
|
|
|
|
+ // document.body.appendChild(span)
|
|
document.body.appendChild(iframe)
|
|
document.body.appendChild(iframe)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+setInterval(() => {
|
|
|
|
+ let toolBar = document.querySelector('div[data-testid="toolBar"]');
|
|
|
|
+ let innerdeIcon = document.getElementById('de-icon');
|
|
|
|
+ if (toolBar && !innerdeIcon) {
|
|
|
|
+ let dialogScheduleBtn = getScheduleDom(false);
|
|
|
|
+ addDeNetBtn(dialogScheduleBtn, deIcon);
|
|
|
|
+ }
|
|
|
|
+}, 800)
|