iOS Charger JavaScript


Exemple

Nous pouvons exécuter du code JavaScript personnalisé sur un UIWebView à l'aide de la méthode stringByEvaluatingJavaScriptFromString() . Cette méthode renvoie le résultat de l'exécution du script JavaScript transmis dans le paramètre de script, ou nul si le script échoue.

Rapide

Charger le script depuis la chaîne

webview.stringByEvaluatingJavaScriptFromString("alert('This is JavaScript!');")

Charger le script à partir du fichier local

//Suppose you have javascript file named "JavaScript.js" in project.
let filePath = NSBundle.mainBundle().pathForResource("JavaScript", ofType: "js")
        do {
            let jsContent = try String.init(contentsOfFile: filePath!, encoding: NSUTF8StringEncoding)
            webview.stringByEvaluatingJavaScriptFromString(jsContent)
        }
        catch let error as NSError{
            print(error.debugDescription)
        }

Objectif c

Charger le script depuis la chaîne

[webview stringByEvaluatingJavaScriptFromString:@"alert('This is JavaScript!');"];

Charger le script à partir du fichier local

//Suppose you have javascript file named "JavaScript.js" in project.
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"JavaScript" ofType:@"js"];
NSString *jsContent = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[webview stringByEvaluatingJavaScriptFromString:jsContent];

Remarque La méthode stringByEvaluatingJavaScriptFromString: attend que l'évaluation de JavaScript soit terminée. Si vous chargez du contenu Web dont vous n'avez pas vérifié le code JavaScript, l'appel de cette méthode risque de bloquer votre application. La meilleure pratique consiste à adopter la classe WKWebView et à utiliser la WKWebView evaluateJavaScript:completionHandler: place. Mais WKWebView est disponible depuis iOS 8.0 et versions ultérieures.