UIWebView CSS injection à l'aide de JavaScript
Je suis en train d'injecter un local fichier css dans une UIWebView que la fin du chargement du site web, tels que google, etc.
Je suis en train d'essayer avec du JavaScript, mais sans succès.
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *cssPath = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"styles.css"]];
NSURL *baseURL = [NSURL fileURLWithPath:cssPath];
NSString *js = [NSString stringWithFormat:@"var fileref = document.createElement('link');
fileref.setAttribute('rel', 'stylesheet');
fileref.setAttribute('type', 'text/css');
fileref.setAttribute('href', %@);", baseURL];
[webView stringByEvaluatingJavaScriptFromString:js];
}
Merci,
Vous devez vous connecter pour publier un commentaire.
D'injecter du code javascript dans un affichage web, vous devez écrire explicitement dans le code html.
Un exemple de ce est là que je l'ai écrit dans un javascript scrollTo fonction:
Ce code écrit l'ensemble des balises de script et le myFunction dans la tête du code HTML de
J'avais un besoin similaire. J'ai des fichiers html locaux dans le bundle que je voulais changer des attributs css par programmation. Puisque vous ne pouvez pas modifier les fichiers dans le paquet, j'ai voulu injecter mon css au moment du chargement de variables dans l'application.
Le code ci-dessous montre la technique, en remplaçant simplement votre méthode pour obtenir les css, c'est à dire lire à partir d'un fichier plist, code, ou db.
Je vous suggère de créer un fichier js et l'ajouter à votre fichier de projet.
et vous savez comment appeler js dans un fichier html. c'est le plus simple et propre façon de faire.