WKWebView Évaluer Javascript sans avoir à recharger la page
Actuellement, je ne peux que comprendre comment évaluer javascript en l'ajoutant à la webview la configuration du userContentController et le rechargement de la page comme ceci:
WKUserScript *script = [[WKUserScript alloc] initWithSource:source injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
[self.webView.configuration.userContentController addUserScript:script];
[self.webView reload];
Comment puis-je exécuter un code javascript sur mon WKWebView de même pour l'ancien WebView est stringByEvaluatingJavaScriptFromString:
de sorte que je n'ai pas à recharger la page?
Que j'essaie de faire quelque chose avec le même effet que
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.querySelector('meta[name=viewport]').setAttribute('content', 'width=%d;', false); ", width]];
OriginalL'auteur JuJoDi | 2014-07-22
Vous devez vous connecter pour publier un commentaire.
remplit la même fonction que celle que vous avez indiquée pour UIWebView
OriginalL'auteur rvijay007
Vous pouvez uniquement définir le
WKWebViewConfiguration
au moment de l'initialisation par l'initialiseur deTous les appels à la propriété
configuration
sont copiés dans une phase ultérieure de l'exécution (voir docs et le fichier d'en-Tête). Donc, fondamentalement, ce que vous faites avec vos trois premières lignes de code pour définir laWKUserScript
à unWKWebViewConfiguration
qui n'est jamais utilisé - et donc pas de travail.La bonne façon de le faire:
Après avoir fait cela, vous n'aurez pas besoin
evaluateJavaScript:
plus.P. S.: Im en utilisant ce code dans mon petit projet
STKWebKitViewController
sur GitHub. Peut-être que cela vous fera gagner du temps, trop!Veuillez définir "consécutifs". Cette approche fonctionne de la même JavaScript(s) à chaque chargement de page. Si vous voulez modifier les scripts qui sont exécutés, evaluateJavaScript: peut-être la meilleure solution pour vous.
Dire que vous devez appeler la fonction et passer le timestamp actuel comme un argument sur chaque uibutton cliquez sur.Comment le feriez-vous?
Certainement
evaluateJavaScript:
! Comme vous pouvez le voir dans le code ci-dessus, avec la WKUserScripts son seulement possible de l'exécuter au document de début ou de fin, pas pour des événements personnalisés tels que les clics de bouton.OriginalL'auteur stk