twitter.com/x.com start videos unmuted

4/22/2024, 6:21:58 PM

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        twitter.com/x.com start videos unmuted
// @namespace   https://greasyfork.org/en/users/13300-littlepluto
// @match       https://twitter.com/*
// @match       https://x.com/*
// @grant       none
// @noframes
// @version     1.0
// @author      -
// @description 4/22/2024, 6:21:58 PM
// ==/UserScript==






document.addEventListener("play", handleEvent,
{
	capture: true,
	passive: true
});


function handleEvent(e)
{
	
	video = e.target;
	isMuted = video.muted;
	hasPlayed = video.played.length != 0;
	

	
	
	
	if (isMuted && !hasPlayed)
	{
		let sibling = video.parentElement.parentElement.nextElementSibling;
		let grandchild = sibling.firstElementChild.firstElementChild;
		if (overlay = grandchild.firstElementChild)
		{
			
			executeMouseDown(overlay);
		}
		else
		{
			
			
			sibling.querySelector("button").click();
			
		}

	}
}


function executeMouseDown(mouseTarget)
{

	
	mouseTarget.dispatchEvent(new MouseEvent("mousedown",
	{
		bubbles: true
	}));
	
	
	mouseTarget.dispatchEvent(new MouseEvent("mouseup",
	{
		bubbles: true
	}));

}