2012-04-20 2 views
0

주어진 페이지를 PDF로 변환하는 Google 크롬 확장 프로그램을 작성 중입니다. 이 기능을 구현하기 위해 페이지의 HTML을 다운로드하여 NPAPI DLL에 전달합니다. JavaScript를 통해 변환이 이루어지며 PDF 파일이 만들어집니다.Google 크롬 확장을위한 웹 페이지의 HTTPS 리소스 다운로드

http://* 유형의 페이지에 대해이 기능을 구현했지만 https://* 유형의 페이지에는 작동하지 않습니다. 해당 웹 페이지의 HTTPS 리소스 (CSS, 이미지 등)를 다운로드하고 NPAPI DLL에 전달하기 전에 HTML을 수정해야합니다.

Chrome에서 어떻게 수행되는지 설명하는 좋은 링크를 찾을 수 없습니다. 제게 제안 해주세요.

답변

1

받은 오류 메시지는 인용하지 않았지만 확장 프로그램이 HTTPS에 액세스 할 수 없다고 생각합니다. manifest.json을 확인하십시오. "http://*/*""https://*/*""permissions" 아래에 모두 표시해야합니다.

문서 : permissions in the manifest, match patterns.

+0

DOM을 다운로드하기 위해 Firefox 관련 API를 사용하는 Firefox 용 비슷한 확장 프로그램과 https images/css/etc를 작성했습니다. 데이터를 별도로. chrome.tabs.executeScript를 사용하여 content : document.getElementsByTagName ('html') [0] .outerHTML을 요청하면 페이지 내에 HTTPS 리소스가 포함되지 않습니다. manifest.json 파일을 확인한 결과 이미 권한 (https : // */*)이 설정되어 있습니다. 본질적으로 필자는 자신의 확장 프로그램이 로그인되어있는 동안 Gmail 웹 페이지와 같이 작동하고 PDF 파일로 변환되기를 원합니다. –

+0

당신이 얻는 소스 코드가 웹 페이지와 일치하지 않는다는 것은 무엇을 의미합니까? Btw, 그것은'document.documentElement.outerHTML'이어야합니다. –

+0

예, NPAPI DLL이 가져 오는 DOM이 웹 페이지 변환의 주요 작업을 수행하는 다른 DLL로 전달됩니다. HTTPS 리소스가 포함 된 문서 하나를 열면 Acrobat에서 "Acrobat에서 xyz.com에 연결할 수 없습니다"라는 오류가 나타납니다. 나는 Web Technologies에서 약간 약해서 문제를 자세히 이해할 수가 없다. Mozilla Firefox 플러그인을 위해 HTTPS 리소스를 개별적으로 다운로드하고 HTML 코드를 수정하여 DLL에 전달해야한다는 것을 알고 있습니다. 추 신 : 변경된 document.getElementsByTagName ('html') [0] .outerHTML by document.documentElement.outerHTML –

관련 문제