2014-05-12 4 views
0

Google+에 기능을 추가하는 인기있는 크롬 확장 프로그램이 있습니다. 확장 기능 중 하나 (매우 새로운 기능)는 "QuickShare"입니다. 클릭 한 번으로 공유 기능을 제공합니다. 이 기능에는 내 확장 기능을 매우 크게 (> 10MB) 선택할 수있는 많은 아이콘이 포함되어 있습니다.파일을 Chrome 확장 프로그램에 동적으로 추가 하시겠습니까?

"큰 확장 프로그램을 설치하지 않을 것이므로 브라우저가 느려질 것입니다."와 같은 불만이 들렸습니다. 나는 이것이 안정성이나 속도에 영향을 미치지 않는다고 설명 할 수는 있지만 (나는 단지 선택되었을 때만 사용되는 이미지 임) 나는 그렇게 말하는 사용자에게 설명 할 수있다.

나는 많은 사용자가 아무 말도하지 않고 설치할 뿐이라고 기대합니다.

짧게하려면 확장 프로그램에서 아이콘을 제거 할 수있는 가장 좋은 방법은 이미지를 다운로드 할 수있는 기능을 제공해야하는 경우입니다. 사용자가 크롬 웹 저장소에서 "이미지 팩"을 설치해야하지만 기본 확장 폴더에 저장해야하는 경우에는 괜찮습니다. (ID를 사용)

이 방법이 있습니까? "그냥"데이터를 다운로드하고 저장하는 것이 보안 모델에 의해 방지 될 것이라고 나는 기대하고있다.

+0

이미지를 아이콘 글꼴로 변환 할 수 있습니다. 10MB 미만으로 축소 된 이미지가 1MB 이상있는 사이트가 있습니다. – abraham

답변

1

어쩌면 질문에 대한 정확한 답변이 아닐지 몰라도 웹 사이트에서 아이콘을 호스팅하지 않으시겠습니까?

사이트의 아이콘을로드하는 팝업 대화 상자를 만들 수 있습니다. 사용자가 XMLHttpRequest를 사용하여로드 할 수있는 아이콘을 선택하면 window.btoa()를 사용하여 base64로 변환하고 결과 문자열을 저장 장치. 나는 하나의 이미지의 크기가 그다지 크지 않다고 믿는다. 당신은 데이터 URL을 사용할 수있는 페이지에 그것을 포함하는 것.

또 다른 옵션은 이미지를 별도의 확장명으로 압축 한 다음 교차 확장 메시징을 사용하여 이미지를 쿼리하는 것입니다. 메시지는 이진 데이터를 가질 수 없기 때문에 다시 base64로 인코딩 된 이미지 여야합니다.

경우에 따라 here은 데이터 URL을 사용하는 방법입니다.

+0

나는 두 번째 솔루션에 대해 이미 생각했지만 성능 문제는 내 케이스에서 매우 중요하다고 확신한다. –

+1

크로스 메징을 통해 아이콘으로 대화 상자를 표시하도록 별도의 확장 프로그램을 요청하여 성능 문제를 해결할 수 있다고 생각한다. 이 경우 이미지는 디스크에서 직접로드됩니다. 그런 다음 사용자가 아이콘을 선택하면 전용 확장 프로그램이 선택한 이미지의 데이터 URL로 기본 확장 프로그램으로 메시지를 보낼 수 있습니다. – disya2

관련 문제