2017-11-23 5 views
3

Firefox拡張機能にGoogle Chromeの拡張機能を適用しています。インストール中にエラーが発生しました:拡張子が無効です - Firefoxにchrome拡張機能を適用する

この拡張はかなり簡単です。現在のブラウザウィンドウをリロードし、特定の文字列を挿入します(デバッグ状態をOdooにアクティブにするために使用されます)。

しかし、私がmozillaテストサイトのagaisntをテストすると、テストに合格して拡張機能が使用できるようになるはずです。

しかし、私はいつも私のブラウザでabout:debugging erssで試してみると、何度も何度も何度も同じことが起こります。

ブラウザをバージョン57.0にアップデートしました。同じ話が続きます。

これは私のディレクトリ構造(Iは、zipファイルにアドオンを追加しました)

background.js 
LICENSE 
manifest.json 
off.png 
on.png 
README.md 
super_on.png 

私のマニフェストファイルである:それは私をスロー

{ 
"name": "My Debug", 
"version": "3.3", 
"manifest_version": 2, 
"description": "Toggle debug mode", 
"short_name": "My Debug", 
"offline_enabled": true, 
"browser_action": { 
    "default_icon": "off_.png", 
    "default_title": "- Click for Debug \n- Double Click for Debug" 
}, 
"applications": { 
     "id": "[email protected]" 
}, 
"incognito": "spanning", 
"background": { 
    "scripts": ["background.js"] 
}, 
"permissions": ["activeTab", "webNavigation", "*://*/*", "tabs"], 
"icons": { 
    "16": "off.png", 
    "128": "off.png" 
} 
} 

There was an error during installation: Extension is invalid 

私はinstall.rdfがもう必要ではないことを知っています。

マニフェストファイルに何らかのエラーがありますか?

答えて

1

デフォルトでは、Odooでデバッグモードを有効にして設定するために、chromeまたはfirefox拡張機能は必要ありません。 Odooフレームワークで次のようなコードを実行できます。これはthis Odoo module

  • から取得された設定を持つクラスを作成します

    class DevelopmentToolsConfigSettings(models.TransientModel): 
    
        _name = 'development_tools.config.settings' 
    
        development_mode = fields.Boolean(
         string='Development mode as default', 
         required=False, 
         readonly=False, 
         index=False, 
         default=True, 
         help='Set development mode by default' 
        ) 
    
        @api.model 
        def get_default_values(self, values): 
         return dict(
          development_mode=self.get_debug_mode(), 
         )    
    
        def get_debug_mode(self): 
         param = self._get_parameter('development_mode') 
    
         if param: 
          value = self._safe_eval(param.value, bool) 
         else: 
          value = self._defaults['development_mode'] 
    
         return value 
    
        def _set_debug_mode(self): 
         param = self._get_parameter('development_mode', force=True) 
         param.value = unicode(self.development_mode)   
    
  • オーバーライドweb.Homeコントローラ値と自動デバッグモードの動作を追加します。

    from openerp.http import route, request, Controller, redirect_with_hash 
    import openerp.addons.web.controllers.main as webmain 
    from openerp.tools.translate import _ 
    from logging import getLogger 
    import werkzeug 
    
    _logger = getLogger(__name__) 
    
    
    class Home(webmain.Home): 
    
        @route() 
        def web_client(self, s_action=None, **kw): 
         result = None 
    
         if not request.debug and request.db and self._get_debug_mode(): 
          _logger.info(self._debug_message) 
          result = self._build_debug_response() 
    
         return result or super(Home, self).web_client(s_action, **kw) 
    
        def _get_debug_mode(self): 
         config = request.env['development_tools.config.settings'] 
         debug = config.get_debug_mode() 
    
         return debug == True 
    
        def _build_debug_response(self): 
         result = None 
    
         try: 
          query = request.params 
          query.update({'debug': u''}) 
          url = '/web?' + werkzeug.url_encode(query) 
          result = redirect_with_hash(url) 
         except Exception as ex: 
          _logger.error(self._error_response.format(ex)) 
    
         return result 
    
        _debug_message = _(u'Auto-redirect to enter in debug mode') 
    
        _error_response = _(
         u'The debug response could not be built.\n' 
         u'System has said: {}' 
        ) 
    
関連する問題