Dies ist möglich, indem Sie die Delegate-Methode von UIWebView verwenden. Dann können Sie JavaScript-Code in ObjC oder Swift ausführen.
Ich zeige Ihnen den Detailcode nach ein paar Minuten, weil ich auf dem Heimweg bin.
Hallo, ich bin zurück.
Der Hauptgedanke ist, dass die Eigenschaft onclick
der Schaltfläche erneut zugewiesen wird. Rufen Sie die alte `onclick'-Funktion auf, wenn Sie die neue Funktion implementieren.
Zuerst sollten Sie die onclick
Funktion der Taste kennen. Durch Lesen des Quellcodes der Webseite können Sie den Namen der Funktion kennenlernen.
Sie müssen auch die ID der Schaltfläche kennen.
Zum Beispiel ist der clickButton()
der Funktionsname. Die btn
ist die ID der Schaltfläche.
<input type="button" id="btn" value="Test Button" onclick="clickButton()">
Und dann sollten Sie Ihren Xcode starten und ein UIWebView schreiben, um die Webseite zu laden. Sie sollten die delegate
-Eigenschaft implementieren und die -webViewDidFinishLoad:
-Methode überschreiben.
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('btn').onclick = function() { document.getElementById('btn').style.backgroundColor = 'red'; clickButton(); }"];
}
Sie sollten die 'red'
und 'btn'
mit dem richtigen Code ersetzen.
ist die Schaltfläche in IB erstellt? – Harris
Nein, es ist ein Webseitenelement –
Wenn die Schaltfläche nicht von Ihnen erstellt wurde und aus einer anderen Quelle geladen wird, wie könnten Sie die Farbe ändern? – Harris