74 lines
2.7 KiB
JavaScript
74 lines
2.7 KiB
JavaScript
// Função para extrair dados do post atual
|
|
function extractPostData() {
|
|
// Selecionar o post atual
|
|
const post = document.querySelector('.occludable-update');
|
|
|
|
if (!post) {
|
|
console.error('Post não encontrado.');
|
|
return null;
|
|
}
|
|
|
|
// Extrair informações do post
|
|
const contentElement = post.querySelector('.feed-shared-update-v2__description, .break-words, [data-test-id="feed-update-message"]');
|
|
const authorElement = post.querySelector('.feed-shared-actor__name, .update-components-actor__name');
|
|
const dateElement = post.querySelector('span.feed-shared-actor__sub-description span[aria-hidden="true"], span.update-components-actor__sub-description time');
|
|
|
|
const postContent = contentElement ? contentElement.innerText.trim() : '';
|
|
const postAuthor = authorElement ? authorElement.innerText.trim() : '';
|
|
|
|
// Obter o link do perfil do autor
|
|
const authorProfileLinkElement = authorElement ? authorElement.closest('a') : null;
|
|
const baseUrl = 'https://www.linkedin.com';
|
|
const authorProfileLink = authorProfileLinkElement ? new URL(authorProfileLinkElement.getAttribute('href'), baseUrl).href : '';
|
|
|
|
// Obter a data do post
|
|
const postDate = dateElement ? dateElement.innerText.trim() : '';
|
|
|
|
// Obter o link do post
|
|
const postLinkElement = post.querySelector('a[href*="/feed/update/"], a[data-control-name="share_link"], a[href*="/posts/"]');
|
|
const postLink = postLinkElement ? postLinkElement.href : window.location.href;
|
|
|
|
const postData = {
|
|
content: postContent,
|
|
author: postAuthor,
|
|
authorProfileLink: authorProfileLink,
|
|
date: postDate,
|
|
postLink: postLink
|
|
};
|
|
|
|
return postData;
|
|
}
|
|
|
|
// Adicionar um botão na página para salvar o post
|
|
function addSavePostButton() {
|
|
const button = document.createElement('button');
|
|
button.innerText = 'Salvar Post';
|
|
button.id = 'savePostButton';
|
|
button.style.position = 'fixed';
|
|
button.style.top = '10px';
|
|
button.style.right = '10px';
|
|
button.style.zIndex = '9999';
|
|
|
|
button.addEventListener('click', () => {
|
|
const postData = extractPostData();
|
|
|
|
if (postData) {
|
|
// Enviar os dados do post para o background script
|
|
chrome.runtime.sendMessage({ action: 'storePostData', data: postData }, (response) => {
|
|
if (response && response.success) {
|
|
console.log('Dados do post enviados para o background script.');
|
|
alert('Dados do post prontos para serem salvos. Clique no ícone da extensão para prosseguir.');
|
|
} else {
|
|
console.error('Erro ao enviar dados do post:', response.error);
|
|
}
|
|
});
|
|
} else {
|
|
alert('Não foi possível extrair os dados do post.');
|
|
}
|
|
});
|
|
|
|
document.body.appendChild(button);
|
|
}
|
|
|
|
// Chamar a função para adicionar o botão
|
|
addSavePostButton(); |