使用DukeScript时是否可以调试JavaScript? 我尝试过添加FirebugLite
echo $valor[$i][4]; // this would be the object itself - cannot be printed
// but that first part is used for object access.
echo $valor[$i][4]->ESP_Name; // the only property of the object, a string
// properties of objects are accessed with "->" and the property name.
它加载并且非常棒,但它没有$ root模型的可见性。 此外,我不知道是否可以添加断点。
答案 0 :(得分:0)
部分地,可以包括FirebugLite。请参阅示例here。 我发现的一个问题是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:您可以使用加载Bootstrap,只需将其包含在带有脚本标记的页面中即可。见here
注意2:不幸的是,FireBug Lite在1.2版之后似乎与Bootstrap有一些问题。见here
注3:Here are a couple of ways关于如何从javascript上下文访问DukeScript模型