Direct Wmode

An userscript to make flash object display in "direct" mode.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name		Direct Wmode
// @description	An userscript to make flash object display in "direct" mode.
// @namespace	eight04.blogspot.com
// @include		http://www.example.com/
// @version 	0.1.1
// @grant		none
// ==/UserScript==

new MutationObserver(cleanContainer).observe(document.body, {
	childList: true,
	subtree: true
});

function cleanContainer(){
	var nodes = document.querySelectorAll("object>param[name='wmode']");
	var i;
	var swap = [];
	var len;
	for (i = 0, len = nodes.length; i < len; i++) {
		swap[i] = nodes[i];
	}
	for (i = 0; i < len; i++) {
		swap[i].setAttribute("value", "direct");
	}
}

function clean(object) {
	var clone = object.cloneNode(true);
	var param = clone.querySelector("[name=wmode]");
	if (!param) {
		return;
	}
	if (param.getAttribute("value") == "direct") {
		return;
	}
	param.setAttribute("value", "direct");
	object.parentNode.replaceChild(clone, object);
}