Firefox 확장 기능(Extensions)에 대한 정보 및 질문과 답변을 하는 게시판입니다. update.mozilla.or.kr 를 참고하세요
-
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>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:
Post
by 화성 »
그리스몽키는 스크립트를 샌드박스에서 실행하기 때문에, 그리스몽키가 제공하는 함수 말고는 웹페이지 밖의 것들을 건드릴 수 없습니다.
Users browsing this forum: No registered users and 0 guests