2012-06-30 6 views
3

애플리케이션 용 애드온을 제작 중입니다. 고객은 일부 웹 페이지를보고 일부 파일을 다운로드하는 데 비용을 지불합니다. 그들은 부가 기능을 통해이 다운로드 프로세스를 자동화하려고합니다. 따라서 "다른 이름으로 페이지 저장"을 선택하고 다운로드 완료를 기다리는 대신 추가 기능을 클릭하고 프로세스를 잊어 버릴 수 있습니다. 문제는 웹 페이지가 일부 쿠키를 브라우저에 제공하고 있다는 것입니다. 그래서 가장 좋은 방법은 File-> "Save Page As"입니다. 내가 추가 기능을 통해 그것을하고 싶다. 어떤 파이어 폭스 - 자바 스크립트 방법이 있나요?. 나는 nsiDownloader를 사용했다. 그러나 HTML 만 저장하고 그림은 저장하지 않습니다. 아무도 나를이 문제에 대해 안내 할 수 있습니까?그림 등 로컬로 웹 페이지를 저장하는 방법

는 편집 : 안녕하세요, 이것은 제사의 프라 사드 덕분에 속임수를 썼는지 코드입니다

var dir =Components.classes["@mozilla.org/file/local;1"] 
     .createInstance(Components.interfaces.nsILocalFile); 
dir.initWithPath("C:\\filename"); 
var file = Components.classes["@mozilla.org/file/local;1"] 
     .createInstance(Components.interfaces.nsILocalFile); 
file.initWithPath("C:\\filename.html"); 
var wbp = Components.classes['@mozilla.org/embedding/browser/nsWebBrowserPersist;1'] 
      .createInstance(Components.interfaces.nsIWebBrowserPersist); 
alert("going to save"); 
wbp.saveDocument(content.document, file,dir, null, null, null); 
alert("saved"); 

편집 : 하지만, 여전히 웹 페이지로 저장 페이지 "로 정확히 저장되지 않습니다 ". 저장된 페이지는 원본 페이지처럼 렌더링되지 않으며, 일부 HTML 예제처럼 보입니다. 해당 파일을 언급 이후

+0

나는 이것에 100 % 아니지만, CURL을 봐라. – Sturm

답변

4

-> 예상대로 작동하고 "다른 이름으로 저장 페이지는"나는 소스 코드 (크롬 : //browser/content/browser.xul)를 통해보고 시도이 발견

https://developer.mozilla.org/en/nsIWebBrowserPersist#saveDocument()

웹 페이지가 완전히로드 된 후에 만이 함수를 호출해야합니다 (DOMContentLoaded 아님) !!

+0

황소 눈. 나는이 함수를 사용하고 있었지만 당신이 준 페이지가 아닌 다른 페이지를 참조했다. 그러나, 당신이 이것을 지적한 후에, 나는 해결책으로 나를 인도 한 매개 변수를 점검했습니다. 고맙습니다. – prabhakaran

관련 문제