Enable users to seamlessly access and appreciate the latest backgrounds on SC.
当前为
// ==UserScript==
// @name latestBGonStripChat
// @namespace http://carllx.com/
// @version 0.1.2
// @description Enable users to seamlessly access and appreciate the latest backgrounds on SC.
// @author carllx
// @include https://stripchat.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=stripchat.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
function replaceTimestamp(url) {
const timestampRegex = /\d+(?=\/)/;
const newTimestamp = Math.floor(Date.now() / 10000);
return url.replace(timestampRegex, newTimestamp);
}
function updateSrcInHTML() {
const divElements = document.querySelectorAll('.image-background__image');
const viewportWidth = window.innerWidth;
const viewportHeight = window.innerHeight;
divElements.forEach((imgElement) => {
const rect = imgElement.getBoundingClientRect();
const isInView =
rect.top >= 0 &&
rect.bottom <= viewportHeight &&
rect.left >= 0 &&
rect.right <= viewportWidth;
if (isInView) {
const src = imgElement.getAttribute('src');
const newSrc = replaceTimestamp(src);
imgElement.setAttribute('src', newSrc);
}
});
}
function executeFunctionEvery5Seconds(fn) {
const intervalId = setInterval(fn, 3000);
const eventListener = () => {
clearInterval(intervalId);
document.removeEventListener('stop', eventListener);
// Additional code to handle the 'stop' event if needed
};
document.addEventListener('stop', eventListener);
}
executeFunctionEvery5Seconds(updateSrcInHTML);
// document.dispatchEvent(new Event('stop'));
// HTML button element
// const button = document.querySelector('#myButton');
// // Event listener for button click
// button.addEventListener('click', () => {
// const stopEvent = new Event('stop');
// document.dispatchEvent(stopEvent);
// });
// function updateSrcInHTML() {
// const elRoot = document.querySelector('#app > div.main-layout-main-right > div.main-layout-main-content > div > div.index-page.index-page-multiple.page.page-columns > div > div > div > div.multiple-categories-scroll-bar-wrapper > div > div > section')
// const divElements = elRoot.querySelectorAll('div');
// divElements.forEach((div, index) => {
// const imgElement = div.querySelector('a > div.image-background > img');
// if (imgElement) {
// const src = imgElement.getAttribute('src');
// const newSrc = replaceTimestamp(src)
// imgElement.setAttribute('src', newSrc); // Replace 'new-src-value' with the desired new src value
// }
// });
// }
// Your code here...
})();