The following code works in B4A, but does not work in B4I,I searched the forum and found that there is no such feature in B4I. I found a method in https://www.b4x.com/android/forum/threads/b4i-addjavascriptinterface.72837/ , but it seems to be different from my needs,I don’t know how to start. Who can help me? thank you very much.
B4X:
Private Webview1 As WKWebView
Sub Webview1_OverrideUrl (Url As String) As Boolean
Dim C_UTF8 As StringUtils
Url=C_UTF8.DecodeUrl(Url,"UTF8")
If Url.Length >= 8 And Txt_Verse.Text<>"" Then
Dim javascript As String
javascript=$"var bb=document.getElementsByName('B${Txt_Verse.Text}')[0];
var kk=bb.style.color;
if (kk=="blue")
{
bb.style.color="red";
}
else
{
bb.style.color="blue";
}
function join(){
var bb=document.getElementsByTagName('a');
var mm=new Array();
for(var i=0;i<bb.length;i++){
var kk=document.getElementsByName("B"+(i+1))[0];
if(kk.style.color=="red")
{
mm.push(i+1);
}
}
return mm.join("/");
}
B4A.CallSub('GetVarFromWebview_1', true, join());"$
Webview1.EvaluateJavaScript("Webview1",javascript)
End If
Return True
End Sub
Sub GetVarFromWebview_1(WebVar As String)
Dim Verse() As String
If WebVar<>Null And WebVar<>"" Then
Verse=Regex.Split("/",WebVar)
'.............
'.............
End If
End Sub
Last edited: