2014-12-20 4 views
2

사용자가 아닌 "Chrome"앱 또는 확장 프로그램에서 '로컬'파일을 가져 오는 방법을 생각하려고합니다. 둘 다 구축 한 이후로있을 수 있습니다. 기본적으로 내 설정 JSON이 될 것이며 내 옵션 페이지를 통해 액세스해야합니다. 콘텐츠 스크립트를 통해 액세스 할 수 있지만 좋아요. 배경 페이지를 통해 액세스해야합니다.Chrome 확장 프로그램/앱 설정 자바 스크립트

샘플 Settings.json

{ 
    "defaultResults": "all", 
    "view":"full", 
    "results":"cur", 
    "count":"5", 
    "omni":{ 
     "h8":{ 
      "title":"Hello World", 
      "url":"www.someurl.com" 
     } 
    } 
} 

그래서 사람이에 대한 실제 옵션을 가지고있다. 구글이 이미 chrome.getAppFile("file URL"); 같은 것 또는 그와 같은 문제에 대해 네이티브 함수를 구현했다면 나는 긍정적이지 않다. 차라리이 파일에 내 앱 내부에서 Ajax를 사용하지 않을 것이다. 그리고 나는 그것을 모든 곳에서 사용하지 않을 것입니다. 바라건대, 여기 누군가가 내가 어떻게해야하는지에 대한 합리적인 생각이있을 것입니다.

+0

이 답변을보십시오 : http://stackoverflow.com/a/3720372/3613282 찾고 계신 것이 있습니까? –

+0

좋은 간단한 방법으로 보입니다. 나는 그것을 살펴볼 것이다. FileSystem 기록기를 사용하여 파일을 편집 할 수 있습니까? – EasyBB

+0

나중에 사용할 수 있도록 설정을 저장하려면 chrome.storage API를 사용하여 JSON 설정을 저장하는 것이 좋습니다. https://developer.chrome.com/extensions/storage FileSystem 기록자의 경우, 확장자로'포장 된 '파일을 변경할 수 있는지 확실하지 않습니다. 내가 아는 한 FileSystem은 임시 샌드 박스 영역에 씁니다. –

답변

3

this 답변에 설명 된 것처럼 2 가지 방법으로이 작업을 수행 할 수 있습니다. 변수로 JSON 객체를 할당 settings.js로 스크립트를 저장하고 배경 페이지에 포함시켜

  1. 다음과 같이 다음과 같이

settings.js 보이는 :

var settings = {"param":value,...}; //Your JSON object 

귀하의 배경 페이지에서 :

<script src="settings.js"></script> 
    당신의 배경 페이지에서 settings.json에 AJAX 호출을함으로써
  1. : 주석에서 설명하고있는 바와 같이

    var xhr = new XMLHttpRequest(); 
    xhr.onreadystatechange = handleStateChange; // Implemented elsewhere. 
    xhr.open("GET", chrome.extension.getURL('/config_resources/config.json'), true); 
    xhr.send(); 
    

, 당신은 크롬 확장에 파일 시스템 API를 사용할 수 없습니다. Chrome 앱에서만 액세스 할 수 있습니다. 어느 쪽이든, FileSystem API는 sandboxed zone에서 작동하므로 확장자가 packed 인 파일에 쓸 수 있는지 확실하지 않습니다.

관련 문제