我试图从 android webview 组件调用 AngularJS 服务,但没有成功...... 您知道我该怎么做吗?
这是我尝试调用的java脚本代码:
view.loadUrl("javascript:$rootScope.myService.hello()");
提前致谢。
最佳答案
除非你有disabled debug data那么应用程序中的每个元素都有一个 scope()
函数,您可以调用该函数来获取该元素的范围。它还具有一个 injector()
函数,您可以使用它来获取应用程序的注入(inject)器实例。所以试试这个:
javascript:angular.element('[ng-app]').injector().get('myService').hello()
不过,最好只在窗口上公开您需要访问的功能。
那么你需要做这样的事情:
angular.module('myApp').service('myService', function(yourDependencies..., $window) {
//Your code
$window.hello = this.hello;
});
那么你的Android代码就变成这样:
view.loadUrl("javascript:hello()");
关于javascript - 如何从android webview调用AngularJS服务代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707637/