部分的に、FirebugLite を含めることができます。たとえば、ここを参照してください。私が見つけた問題の 1 つは、Firebug が読み込まれるが、モデルが表示されず、$root が undefined を返すことです。main/resouces の下に Javascript リソース MyResource.js を作成して、この問題を回避しようとしました。
MyResource = {
loadFirebug: function(){
if (!document.getElementById('FirebugLite')){
E = document['createElement' + 'NS'] && document.documentElement.namespaceURI;
E = E ? document['createElement' + 'NS'](E, 'script') : document['createElement']('script');
E['setAttribute']('id', 'FirebugLite');
E['setAttribute']('src', 'https://getfirebug.com/' + 'firebug-lite.js' + '#startOpened');
E['setAttribute']('FirebugLite', '4');(document['getElementsByTagName']('head')[0] || document['getElementsByTagName']('body')[0]).appendChild(E);
E = new Image;E['setAttribute']('src', 'https://getfirebug.com/' + '#startOpened');
}
},
someProperty: "someProperty"
};
次に、リソースをロードするために、対応する Java クラスを作成します。
@JavaScriptResource("MyResource.js")
public class MyResource {
@net.java.html.js.JavaScriptBody(
args = {}, body =
"MyResource.loadFirebug();"
)
public static native void loadFireBug();
}
onPageLoad() Java メソッドで、FirebugLite をロードする JavaScript メソッドを呼び出すことができます。
/**
* Called when the page is ready.
*/
public static void onPageLoad() throws Exception {
d = new Data();
d.setMessage("Hello World from HTML and Java!");
d.applyBindings();
MyResource.loadFireBug();
}
Firebug が起動すると、少なくともそれを囲むリソースのスコープが設定されます。ファイルの下にリソースが表示されないため、まだブレークポイントを追加できません。おそらく、DukeScript の専門家は、これを処理するためのより良い方法を提案できます。
注 1: script タグを使用してページに組み込むだけで、load Bootstrap を使用できます。こちらをご覧ください
注 2: 残念ながら、FireBug Lite はバージョン 1.2 以降の Bootstrap に問題があるようです。こちらをご覧ください
注 3: JavaScript コンテキストから DukeScript モデルにアクセスする方法をいくつか示します。