2017-07-28 1 views
2

J'ai une exigence de chargement de fichiers Javascript à travers le fichier HTML. J'ai des fichiers structurés dans l'ordre montré dans la capture d'écran ci-dessous.Charger des fichiers Javascript via le fichier HTML sur WKWebView dans iOS

enter image description here

HTML balise head contient les fichiers Javascript appeler comme ci-dessous:

<head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 
<script type="text/javascript" src="AjaxCapturer.js"></script> 
<script type="text/javascript" src="authenticate.js"></script> 
</head> 

donc j'utilise UIWebView pour charger la page et son chargement correctement comme indiqué ci-dessous en capture d'écran.

enter image description here

Maintenant, si je lance même chose en utilisant WKWebView alors la page est de continuer à chargement comme indiqué dans ci-dessous capture d'écran.

enter image description here

fichiers Javascript sont de tir (alerte ajoutée), mais page ne se charge pas WKWebView. Ci-dessous ma logique de code:

-(void)loadWebVW{ 

    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; 
    WKPreferences *pref = [[WKPreferences alloc] init]; 
    pref.javaScriptEnabled = YES; 
    pref.javaScriptCanOpenWindowsAutomatically = YES; 
    config.preferences = pref; 

    CGRect vwFrame = CGRectMake(10, 80, 300, 480); 
    WKWebView *webVW = [[WKWebView alloc] initWithFrame:vwFrame configuration:config]; 
    [self.view addSubview:webVW]; 
    webVW.navigationDelegate = self; 
    webVW.UIDelegate = self; 

    NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"offline_Forms" 
                 ofType:@"html"]; 
    NSString *html = [NSString stringWithContentsOfFile:htmlPath 
               encoding:NSUTF8StringEncoding 
                error:nil]; 
    NSURL *baseUrl = [NSURL fileURLWithPath: 
         [NSString stringWithFormat:@"%@/JavaScript", 
         [[NSBundle mainBundle] bundlePath]]]; 
    [webVW loadHTMLString:html baseURL:baseUrl]; 

    //or// 

    // [webVW loadRequest:[NSMutableURLRequest requestWithURL:[NSURL URLWithString:htmlPath]]]; 

} 

Est-ce que nous avons besoin d'ajouter des choses supplémentaires pour le charger dans WKWebView. S'il vous plaît aider à ce sujet. Merci d'avance.

+0

@randombits, Pouvez-vous m'aider s'il vous plait ... –

+0

Avez-vous trouvé une solution pour ce @Ganesh Guturi? Parce que je suis également confronté au même problème, si vous l'avez déjà corrigé, pouvez-vous poster la réponse? Merci –

+0

S'il vous plaît voir ma réponse ci-dessous @AnilkumariOSdeveloper –

Répondre

0

Je trouve qu'il est un problème connu dans iOS 10.3 et ultérieure fixée dans iOS 10.3.2, voir le lien from Apple developer forum pour plus d'informations. Parfois, je pense que le même problème existe dans Simulator mais fonctionne bien dans les appareils physiques. Assurez-vous donc à chaque fois que vous vérifiez la fonctionnalité WKWebView dans un périphérique physique.