Я пользуюсь телефоном. В настоящее время на Android я могу изменить страницу с помощью очень простой функции, что я сделал:Измените текущую страницу с помощью плагина
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {
MainActivity ma = (MainActivity) cordova.getActivity();
ma.reload(args.getString(0));
return (true);
}
и в mainActivity:
super.loadUrl("file:///android_asset/www/" + url, 1000);
Но я новичок в объективной C и iOs, и я не могу найти правильные ключевые слова или начало ответа. I'am состояние, чтобы иметь эквивалент функции execute
, но тогда я понятия не имею, как получить mainActivity и перезагрузите страницу
До сих пор I'n моего плагина у меня есть следующий код, но он не работает:/
- (void)execute:(CDVInvokedUrlCommand*)command
{
//id message = [command.arguments objectAtIndex:0];
id message = @"buy/buy.html";
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:message]]];
}
EDIT:
Я пытаюсь сделать следующее:
@implementation Redirect
- (void)execute:(CDVInvokedUrlCommand*)command
{
id message = [command.arguments objectAtIndex:0];
NSString* newUrl = message;
NSString* javaScript = nil;
NSString *jsCallBack = [[NSString alloc] initWithFormat:@"changeUrl('%@');", newUrl];
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:message];
javaScript = [pluginResult toSuccessCallbackString:jsCallBack];
[self writeJavascript:javaScript];
}
@end
и в HTML:
window.changeUrl = function (url){
alert("ici");
navigator.app.loadUrl(url);
}
var Redirect= function(){
return cordova.exec(function(data){ alert(data);console.log("Success");}, function(){ console.log("Fail");},
"Redirect",
"execute",
[location.href]);
};
Я уверен, что плагин вызывается, когда, но если я ставлю предупреждение в changeUrl
функции ничего не отображается
Спасибо за обмен. – Ross