From e3db974080abed8ca022a1ed4bfcda3e265ef246 Mon Sep 17 00:00:00 2001 From: Niklas Merz Date: Wed, 16 Jan 2019 14:18:35 +0100 Subject: [PATCH] (ios) Move createIframeBridge to injectDeferredObject Avoid failed script injections for pages which did not finish loading. --- src/ios/CDVUIInAppBrowser.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ios/CDVUIInAppBrowser.m b/src/ios/CDVUIInAppBrowser.m index 5e3e900..d2cea12 100644 --- a/src/ios/CDVUIInAppBrowser.m +++ b/src/ios/CDVUIInAppBrowser.m @@ -362,6 +362,7 @@ static CDVUIInAppBrowser* instance = nil; - (void)injectDeferredObject:(NSString*)source withWrapper:(NSString*)jsWrapper { + [self createIframeBridge]; if (jsWrapper != nil) { NSData* jsonData = [NSJSONSerialization dataWithJSONObject:@[source] options:0 error:nil]; NSString* sourceArrayString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; @@ -564,7 +565,6 @@ static CDVUIInAppBrowser* instance = nil; - (void)webViewDidFinishLoad:(UIWebView*)theWebView { - [self createIframeBridge]; if (self.callbackId != nil) { // TODO: It would be more useful to return the URL the page is actually on (e.g. if it's been redirected). NSString* url = [self.inAppBrowserViewController.currentURL absoluteString];