您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Inserts a View Post button when browsing photos on Facebook — e.g. Navigates away from the standard theater view
- // ==UserScript==
- // @name Facebook (Insert View Post Button)
- // @match https://www.facebook.com/*
- // @match http://www.facebook.com/*
- // @icon https://www.google.com/s2/favicons?domain=facebook.com
- // @run-at document-start
- // @grant GM_addStyle
- // @author JZersche (Free Release)
- // @require https://greasyfork.org/scripts/12228/code/setMutationHandler.js
- // @version 1.02
- // @namespace https://greasyfork.org/users/95175
- // @description
- // @description Inserts a View Post button when browsing photos on Facebook — e.g. Navigates away from the standard theater view
- // ==/UserScript==
- let i = 0;
- setMutationHandler({
- target: document,
- selector: '.d2edcug0.hpfvmrgz.qv66sw1b.c1et5uql.lr9zc1uh.a8c37x1j.keod5gw0.nxhoafnm.aigsh9s9.d3f4x2em.fe6kdd0r.mau55g9w.c8b282yb.iv3no6db.gfeo3gy3.a3bd9o3v.knj5qynh.oo9gr5id',
- handler: nodes => nodes.forEach(node => {
- setTimeout(function(){
- try{if(window.location.href.match(/facebook\.com\/photo\/\?fbid\=\d+\&set\=a\.\d+/)[0] && i == 0) {
- let p1 = node.children[0].children[0].children[0].children[0].children[0].href.match(/com\/\w+/)[0].substring(4);
- let p2 = node.children[0].children[0].children[0].children[0].children[0].href.substring(25).replace('?__tn__=-UC*F','');
- console.log(p1);
- console.log(p2);
- if(p1.length !== p2.length) {var pagename = p2}
- if(!pagename) {pagename = document.getElementsByClassName('aahdfvyu')[1].children[0].children[0].children[0].href.match(/facebook\.com\/\S+\?/)[0].replace('facebook.com/','').replace('?','')}
- let albumid = window.location.href.match(/\d+/g)[1];
- let postid = window.location.href.match(/\d+/g)[0];
- var j = 1;
- nodes[j].setAttribute('style','border:1px solid #f000;');
- if(nodes[j].parentNode.classList == 'ecm0bbzt e5nlhep0 a8c37x1j') {j = 0;}
- nodes[j].insertAdjacentHTML('afterend',`
- <div class="viewpost" style="background: #000; width: 67px; text-align: center; border-radius: 4px; margin-top: 6px; border: 1px solid #fff; line-height: 14px;font-size: 14px; padding: 3px;">\
- <span style="color:#fff;font-weight:600;font-family:inherit;"><a style="text-decoration:none;" href="https://www.facebook.com/`+pagename+`/posts/`+postid+`">View Post</a></span></div>`);
- i = 1;
- }}catch(e){}
- try{if(window.location.href.match(/facebook\.com\/photo\/\?fbid\=\d+\&set\=pb\.\d+\.\-\d+\.\./)[0] && i == 0) {
- console.log('B');
- nodes[1].setAttribute('style','border:1px dashed #f000;');
- i = 1;
- }}catch(e){}
- try{if(window.location.href.match(/facebook\.com\/\d+\/photos\/a\.\d+\/\d+/)[0] && i == 0) {
- console.log('C');
- nodes[2].setAttribute('style','border:1px solid #0f00;');
- i = 1;
- }}catch(e){}
- try{if(window.location.href.match(/facebook\.com\/photo\.php\?fbid\=\d+\&set\=pb\.\d+\.\-\d+\.\.\&type\=3/)[0] && i == 0) {
- console.log('D');
- nodes[2].setAttribute('style','border:1px solid #00f0;');
- i = 1;
- }}catch(e){}
- try{if(window.location.href.match(/facebook\.com\/\w+.+\/photos\/a\.\d+\/\d+/)[0] && i == 0) {
- console.log('E');
- console.log(node);
- if(window.location.href.match(/https:\/\/www\.facebook\.com\/\w+.+\/photos/)[0].replace('https://www.facebook.com/','').replace('/photos','')){
- var pagename = window.location.href.match(/https:\/\/www\.facebook\.com\/\w+.+\/photos/)[0].replace('https://www.facebook.com/','').replace('/photos','');
- }
- let albumid = window.location.href.match(/\d+/g)[0];
- let postid = window.location.href.match(/\d+/g)[1];
- node.setAttribute('style','border:1px solid #f0f0;');
- if(node.parentNode.classList === 'a8nywdso j7796vcc rz4wbd8a l29c1vbm' || node.parentNode.classList === 'j7796vcc') {alert(node.parentNode.classList)};
- node.insertAdjacentHTML('afterend',`
- <div class="viewpost" style="background: #000; width: 67px; text-align: center; border-radius: 4px; margin-top: 6px; border: 1px solid #fff; line-height: 14px;font-size: 14px; padding: 3px;">\
- <span style="color:#fff;font-weight:600;font-family:inherit;"><a style="text-decoration:none;" href="https://www.facebook.com/`+pagename+`/posts/`+postid+`">View Post</a></span></div>`);
- i = 1;
- }}catch(e){}
- },5000)
- })
- })