2014-03-03 77 views
3

我在嘗試使用Dart創建Chrome擴展程序。使用Dart for Chrome擴展程序

截至目前我不能讓它運行在擴展任何JavaScript,但我可以做酒吧構建和在瀏覽器中運行它。

我有以下3個文件:

manifest.json的:

{ 
    "manifest_version": 2, 

    "name": "ecDownloader", 
    "description": "-", 
    "version": "0.1", 

    "browser_action": { 
    "default_title": "Click to disable extension", 
    "default_icon": "images/icon.png" 
    }, 

    "options_page" : "options.html" 
} 

options.html:

<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>ecDownloader</title> 
    <link rel="stylesheet" href="style.css"> 
    </head> 
    <body> 
    <div> 
     <h1>Options</h1> 
     <fieldset name="info"> 
     <legend>Login Information</legend> 
     <label for="username">Username</label> 
     <input type="text" name="username" id="username" size="20"> 
     <label for="password">Password</label> 
     <input type="password" name="password" id="password" size="20"> 
     <button type="button">Save!</button> 
     </fieldset> 
     <span id="test"></span> 
    </div> 
    <script type="application/dart" src="options.dart"></script> 
    <script src="packages/browser/dart.js"></script> 
    </body> 
</html> 

options.dart:

import 'dart:html'; 

void main() { 
    querySelector('#test').text = 'test'; 
} 
+2

問題是什麼? –

+0

沿線的東西; 「我在這裏做錯了什麼?」,或者「我錯過了什麼?」。 – Mikael

+0

什麼不起作用? –

回答

3

Chrome擴展需要使用符合CSP的腳本。 CSP兼容腳本是由發佈版本自動生成的,擴展名爲dart.precompiled.js,但默認情況下,HTML文件引用非CSP兼容文件。

有跡象表明,Dart2JS變壓器的配置選項應該設置鏈接到相應的腳本文件的計劃,但是這還沒有實現。

還爲使用聚合物時必須設定的聚合物變壓器的選項csp: true

編輯

一個transformer was added to chrome.dart其上pub build自動執行此操作 - 將很快面市。