2016-06-22 5 views
0

Ich arbeite mit einem WKWebView und ich brauche etwas Javascript von einem Server zu bekommen und dieses Javascript auf meinem WKWebView ausführen.Generate Javascript-Datei dynamisch auf iOS

Grundsätzlich dieses Javascript zu haben, mache ich einen Anruf an eine API, die eine JSON wie sendet:

{ 
    "script" : "function()..." // the content of the script is a string here 
} 

Also meine Frage: Wie kann ich dieses Skript injizieren? Ich muss zuerst eine JS-Datei mit diesem Inhalt erstellen, oder? Bis jetzt habe ich JS aus Dateien eingefügt, die zuerst zu meinem Projekt hinzugefügt wurden.

Ich weiß, dass ich eine Datei wie das schaffen könnte:

NSError *error; 
NSString *stringToWrite = @"function()... my javascript"; 
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:@"myScript.js"]; 
[stringToWrite writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

Aber dann würde der Benutzer diese Datei auf seinem/ihrem iPhone sehen, nicht wahr?

Antwort

0

Eigentlich habe ich jetzt die Zeichenfolge vom Server erhalten und die Javascript aus dieser Zeichenfolge wie das ausführen:

evaluateJavaScript

myWKWebView.evaluateJavaScript(scriptString, completionHandler: { (result, error) in 

    // ... 

})