2011-06-28 14 views
1

現在、基本機能がクイック選択ツールとして機能するChrome拡張機能を作成しています。これは、ASP.NET Webサイトを通じて実装されたファイル分類インターフェイスを使用していて、特定のファイルをアップロードするときに特定の値(日付、説明、タグなど)を選択する必要があることを意味します。そこで、Chromeの開発ツールを使用して、使いやすいコンテキストメニュー(ページを右クリックするだけです)を作成することにしました。このメニューでは、クリックすると適切なフィールドをすべて入力する事前定義されたルールのリストが表示されますテキストボックス、ドロップダウンリストなど)を自動的に表示します。外部ソース/ファイルからChromeのコンテキストメニューにデータを入力する

これらの事前定義されたルールがたくさんあり、それらは変更されやすく、ほとんどのノードには子ノードがあります(たとえば、ルール1には1.1,1.2などが含まれています)。コードをスクリプト形式で直接入力します。したがって、私の考えは、XML文書のような別々のファイルに定義を含め、コンテキストメニューに抽出されたデータを簡単に取り込むことでした。私は多くの異なる方法を試しただけで、どれも働いていませんでした。このXMLファイルを拡張フォルダに入れてアクセスすることはできませんか?もしそうなら、それを呼び出すコードはどのように見えるでしょうか? Chrome拡張機能からこの種のローカルリソースとやり取りすることはできますか?どんな入力も歓迎です。

例:

// This is the parent "general" section 
var general = chrome.contextMenus.create({ "title": "General" }); 

// Here, there would be a loop iterating through the "general" division of the XML, 
// creating the sub-menus (general_item1, general_item2, etc). 
+1

私はこれとかなり似たような拡張機能を書いています(定義された構造のインメモリのJSONオブジェクトからの読み込み)。 XMLの代わりにJsonSerializerを使用し、ファイルが 'var myObj = {}; 'のように見えるようにして、他の' .js'ファイルとしてインクルードしてください。内線番号を確認してください:https://github.com/jimschubert/select-actions –

+0

ジムに感謝します。私は見て、私は同様の何かを考え出すことができるかどうかを見てみましょう。 –

答えて

0

あなたはXMLHttpRequestをを通してそれをロードし、例えばjQueryを使ってそれを解析することができます

$.ajax({ 
    url: "include.xml", 
    dataType: "xml", 
    success: function(xml) { 
     $(xml).find("entry").each(function(){ 
      //loop through children 
      $(this).children("subentry").each(function(){ 
       console.log($(this).attr("param")); 
      }); 
     }); 
    } 
}); 

しかし、私はジム・シューベルトがコメントで示唆するものとなるだろう - ちょうどJSファイルを含めますこれらの設定は、使用準備が整っているオブジェクトの中にすべて含まれています。最初にすべてをjavascriptオブジェクトとして保存できるのであれば、XMLをjavascriptに変換する必要はありません。

+0

チップをありがとう。私はJSONシリアライザと一緒に行くようです。しかし、とにかくXML文書を取得する方法を見てうれしいです。 –

関連する問題