2014-10-14 4 views
2

Я пытаюсь написать расширение Chrome с помощью Dart. Пока все идет хорошо, за исключением сценария контента - «основная» функция в файле dart файла контента не работает.Использование Dart в скрипте расширения содержимого Chrome не запускается?

Чтобы быть более конкретным, в первую очередь, Dartium не может использоваться с момента подачи файла дротика в правиле «js» в манифесте, вызвавшем жалобу Dartium; Затем я попытался скомпилировать файл dart (csp: true), а затем сделать манифест включенным скомпилированным файлом js напрямую - тогда я застрял, кажется, что независимо от того, что я пытаюсь, (скомпилированный) «основной», функция просто не запускается.

Любые предложения?

Update:

Файл манифеста:

{ 
    "manifest_version": 2, 
    "name": "Assistant", 
    "description": "Assists you with various tasks.", 
    "version": "1.0", 
    "minimum_chrome_version": "26.0", 
    "permissions": ["<all_urls>", "storage"], 

    "content_scripts": [ 
    { 
     "matches": ["<all_urls>"], 
     "js": [ 
     "packages/browser/dart.js", 
     "dart_content_script.dart.js" 
     ], 
     "run_at": "document_start", 
     "all_frames": false 
    } 
    ], 

    "browser_action": { 
    "default_popup": "popup.html", 
    "default_icon": "bulb.png" 
    }, 

    "background": { 
    "page": "background.html" 
    } 
} 

Содержимое файла сценария дротик:

void main() { 
    print('main done'); 
} 

pubspec.yaml:

name: AssistentExtension 

dependencies: 
    browser: any 
    chrome: any 

dev_dependencies: 
    unittest: '>=0.10.0' 

transformers: 
- $dart2js: 
    csp: true 

В разработчика Chrome консоль, я могу плавать d строка «main done» означает, что «основная» функция действительно включена в скомпилированные js, но ничего не печатается, что означает, что она не запущена.

+0

Отображение кода и манифеста было бы уместным. – Xan

+0

Как вы его запускаете? Контекстное меню в 'manifest.json'> Запуск в качестве приложения Chrome? –

+0

@ Günter Zöchbauer: Я загрузил расширение как неупакованное расширение с страницы администрирования расширения Chrome. –

ответ

0

У меня была такая же проблема, как ваша. В то время я заглянул в консольные журналы , отсутствует хромированный пакет с протоколом (но я не знаю, что его вызывает), поэтому я вручную добавил его обратно в папку сборки, затем он работал, чтобы я мог видеть мои журналы написанное в main().

Когда я бегу test_ext, которые приходят с official chrome pub, я получаю другое сообщение об ошибке в журнале консоли, я снова решил ее, а затем test_ext образец работает слишком хорошо.

Итак, советую взглянуть на журнал консоли, это может помочь. Вы можете открыть консоль для расширения по правому клику на popup UI расширения и выберите 'Проверьте элемент', чтобы открыть его.

Смежные вопросы