MNCAST 비디오 받는 그리스몽키 스크립트

Firefox 확장 기능(Extensions)에 대한 정보 및 질문과 답변을 하는 게시판입니다. update.mozilla.or.kr 를 참고하세요
Post Reply
sixmen

MNCAST 비디오 받는 그리스몽키 스크립트

Post by sixmen »

확장을 만들 능력은 아직 없고, 그리스몽키 설치한 김에 한번 만들어봤습니다.

Code: Select all

// ==UserScript==
// @name           MNCAST Video Downloader
// @namespace      http://sixmen.pe.kr/
// @description    Download Video from MNCAST
// @include        http://*.mncast.com/*
// ==/UserScript==

var embeds = document.getElementsByTagName("embed");
for(var i=0;i<embeds>0)
		{
			var movieurl = "http://" + entries[0].textContent + ".flv";
			window.open(movieurl, null);
		}
	}
	GM_xmlhttpRequest(reqobj);
}
일단 주소까지 알아냈는데, 다른 video downloader 확장 처럼, 메뉴나 툴바에 다운로드를 추가하고 싶은데, 아직 능력이 안 되서 다른 창을 띄우게 해봤습니다.
그마저도 다운로드 창이 뜨는게 아니고 그냥 새 창에 바이너리 데이터가 나와버리네요.

이 부분을 어떻게 하면 좋을까요?
sixmen

음..

Post by sixmen »

코드가 다 안 올라가네요..

Code: Select all

// ==UserScript==
// @name           MNCAST Video Downloader
// @namespace      http://sixmen.pe.kr/
// @description    Download Video from MNCAST
// @include        http://*.mncast.com/*
// ==/UserScript==

var embeds = document.getElementsByTagName("embed");
for(var i=0;i<embeds.length;i++)
{
	if(embeds.item(i).name=='MNC_HMOVIE')
	{
		var url = embeds[i].src;
		var match = url.match(/movieID=(\d+)/);
		if(match)
		{
			var infourl = 'http://www.mncast.com/_MovieInfo_/_MovieInfoXML_Tag_.asp?movieID='+match[1]+'&loginPNum=-1&player=0';
		}
	}
}
sixmen

코드 나머지

Post by sixmen »

나머지

Code: Select all

if(infourl)
{
	var reqobj = new Object();
	reqobj.method = 'GET';
	reqobj.url = infourl;
	reqobj.onload = function(responseDetails)
	{
		var parser = new DOMParser();
		var dom = parser.parseFromString(responseDetails.responseText, "application/xml");
		var entries = dom.getElementsByTagName('url');
		if(entries && entries.length>0)
		{
			var movieurl = "http://" + entries[0].textContent + ".flv";
			window.open(movieurl, null);
		}
	}
	GM_xmlhttpRequest(reqobj);
}
jsmoon
Posts: 4
Joined: 2007 01 29 13:53 15
Contact:

제가 했었던 방법은 ...

Post by jsmoon »

GreaseMonkey쪽 스크립트에서 FireFox에서 정의된 함수를 사용할 수 있을지 여부는 잘 모르겠지만, 저 같은 경우 신비로 다운로더를 만들적에 기존에 있던 함수인 saveURL을 사용하였습니다.

function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache, aSkipPrompt, aReferrer)

위의 함수를 아래와 같이 호출 하면

saveURL(URL, FILENAME, null, false);

다운로드 창이 뜨게 됩니다.
화성
서포터즈
서포터즈
Posts: 168
Joined: 2005 02 17 00:49 53
Location: 구미
Contact:

GM에서는 못 씁니다.

Post by 화성 »

그리스몽키는 스크립트를 샌드박스에서 실행하기 때문에, 그리스몽키가 제공하는 함수 말고는 웹페이지 밖의 것들을 건드릴 수 없습니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest