2010-01-19 25 views
6

Gần đây, tôi đã cập nhật GWT SDK từ 1.5.3 lên 2.0.0 trên một dự án. Tôi đã cố gắng khắc phục mọi vấn đề nhưng một vấn đề.vấn đề với plugin dành cho nhà phát triển Chrome GWT 2.0

Tôi không thể sử dụng chế độ phát triển với chrome. Trang đăng nhập của tải ứng dụng của tôi một cách hoàn hảo nhưng khi tôi cố gắng để đăng nhập (ví dụ: làm cho một RPC) tôi nhận được lỗi sau:

com.google.gwt.core.client.JavaScriptException: (Error): Error calling method on NPObject! stack: Error: Error calling method on NPObject! at eval at eval (native v8natives.js:132:1) at unknown source at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.0 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.1 (eval at eval (native v8natives.js:132:1)) at Object. (unknown source) at __gwt_jsInvoke (http://grapple:8087/hosted.html:70:35) at Array.1 (eval at eval (native v8natives.js:132:1)) __gwt_ObjectId: 2835 at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:284) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) at com.google.gwt.user.client.rpc.impl.SerializerBase$MethodMap$.deserialize$(SerializerBase.java) at com.google.gwt.user.client.rpc.impl.SerializerBase.deserialize(SerializerBase.java:124) at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.deserialize(ClientSerializationStreamReader.java:116) at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.readObject(AbstractSerializationStreamReader.java:61) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter$ResponseReader$8.read(RequestCallbackAdapter.java:104) at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:197) at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:396) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl.Impl.apply(Impl.java) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188) at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) at com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222) at java.lang.Thread.run(Thread.java:619)

Tôi đang sử dụng Chrome 4.0.295.0 và phát triển Plugin 1.0.7263.

Chế độ phát triển hoạt động tốt trên FF và IE.

Bạn có biết bất kỳ điều gì đang xảy ra không?

Cảm ơn bạn.

+0

Chỉ một điều nữa, trang hoạt động tốt trên Chrome được triển khai. – Isac

Trả lời

7

Tôi không chắc rằng đó là lỗi trong plugin dành cho nhà phát triển - đó có thể là giới hạn của trình duyệt.

Khi ứng dụng của bạn phát triển phức tạp hơn, giới hạn kích thước ngăn xếp của trình duyệt cuối cùng sẽ đạt được. Một số trình duyệt có giới hạn cao hơn các trình duyệt khác (xem http://tests.novemberborn.net/javascript/callstack-size.html trong các trình duyệt khác nhau). Safari có mức cao nhất theo tôi biết và có một plugin dành cho nhà phát triển GWT chính thức cho nó - ít nhất là trên nền tảng Mac.

Plugin (trên tất cả nền tảng) bổ sung thêm chi phí đáng kể vào ngăn xếp (do đó, vấn đề này thường xuất hiện trong quá trình sản xuất), nếu bạn muốn tiếp tục phát triển ứng dụng của mình ở chế độ gỡ lỗi, lời khuyên tốt nhất có thể là cơ cấu lại mã của bạn. Có thể bạn đang cố xử lý quá nhiều dữ liệu ở phía máy khách cùng một lúc.

0

Dường như plugin Chrome có vấn đề với các đối tượng lồng nhau và được tuần tự hóa sâu trong chế độ devmode. Trong ứng dụng của tôi, tôi gửi xuống một cây sâu và nó không thành công trong Chrome nhưng thành công trong Firefox.

Các vấn đề liên quan