Этот код добавляет точную отметку времени в сообщениях Facebook.Я добавил к нему фактическую информацию о сообщении, такую как идентификатор сообщения и идентификатор fbUserID, или имя страницы, на которой размещен статус / содержимое.
Используется: https://greasyfork.org/scripts/12228/code/setMutationHandler.js
Это, в основном, проходит по всем узлам, а затем вставляет HTML для каждого узла.
// process the already loaded portion of the page if any
expandDates(document.querySelectorAll('abbr[data-utime]'));
// process the stuff added from now on
setMutationHandler(document, 'abbr[data-utime]', expandDates);
setMutationHandler(document, '._5pcq', expandPostIDs);
setMutationHandler(document, '._5pbx', statusRetrieval);
setMutationHandler(document, '.r_1zif-zub1', savePostButton);
setMutationHandler(document, '.r_1zif-zub1', ButtonEvents);
function expandPostIDs(nodes) {
for ( var i = 0; i < nodes.length; i++ )
{
var element = nodes[i];
if(element.innerHTML.includes('<br>') === false && element.className === '_5pcq')
{
element.insertAdjacentHTML('beforeend', '<br><span class="PostInfo">' +
element.href.replace(/(&|\?)__xts__%5B0%5D=68.{0,250}/,'')
.replace('permalink.php?','permalink.php?').replace('/groups/','Group: ')
.replace('/permalink/','<br>Post ID: ').slice(24,100)
.replace('/','')) + element.insertAdjacentHTML('afterend', '</span>')
}
}
}
function ButtonEvents(nodes) {
for (var i = 0; i < nodes.length; i++)
{
var element = nodes[i];
element.addEventListener("click", ClickButton, false);
}
}
function ClickButton(nodes) {
var a = document.getElementsByClassName("r_1zif-zub1")[0].innerText; //Time and Date
var b = document.getElementsByClassName("_58jw")[0].innerText; // Status Content
alert(a + b);
}
function savePostButton(nodes) {
for ( var i = 0; i < nodes.length; i++ )
{
var element = nodes[i]; element.getElementsByClassName("r_1zif-zub1");
if(element.className == 'r_1zif-zub1')
{
element.insertAdjacentHTML(
'beforeend',
'<input class="savePostButton" type="button"><br><span style="color:#09f!important;">Save Post</span></input>');
}
}
}
Мне просто нужен способ получить фактический элемент, на котором они находятся.Что-то вроде:
var a = document.getElementsByClassName("r_1zif-zub1")[Current Node].innerText;
var b = document.getElementsByClassName("_58jw")[Current Node].innerText;
Мой полный код: https://pastebin.com/J4q5hXAX