【发布时间】:2017-04-17 16:02:16
【问题描述】:
我在片段中有一个 webview,并且有自己的 Bridgecallback 服务。
我有一个 javascript 文件 TriggerEventsService.js
define(function(require){
var Service = require('BridgeService');
var TriggerEventsService = new Service({
name: "TriggerEventsService",
timeout : 3000
});
//Public API
TriggerEventsService.postHibernate = function(){
this.execute("postHibernate", {"event" : "App becoming inactive"}, function(){}, function(){});
};
在我的 HTML 文件中 index.html
function postEventHibernate(){
require(['TriggerEventsService'], function(ui){
ui.postHibernate();
});
}
我可以直接从原生android方法调用这个函数吗?
在 iOS 中我已经这样做了:
NSString *jsString = [NSString stringWithFormat:@"require(['TriggerEventsService'],
function(ui){ui.postHibernate();});"];
[self.webView evaluateJavaScript:jsString completionHandler:nil];
并且效果很好!我知道在 iOS 中可以做到这一点,如果 android 有任何直接的方法,任何人都可以帮助我?
我看过其他答案,但不知道如何调用我的 TriggerEventsService.js - webview.loadUrl("我应该在这里调用什么?");
【问题讨论】:
-
@LunarWatcher 我看到了其他答案,但无法解决我的问题。你能帮我解决这个方法吗?
标签: javascript android ios webview requirejs