Я использую управление браузером WebKit в своем приложении .net.Я также новичок в JSON и мало знаю о сценариях Java.Мой вызов метода одного метода C # из кода сценария Java.Я знаю, что есть свойство «ObjectForScripting» с элементом управления WebKit.
C # Код: - Этот код выполняется одним нажатием кнопки.Который внедряет Java-скрипт в отображаемую HTML-страницу.
Element scriptElm = browser.Document.CreateElement("script");
scriptElm.AppendChild(browser.Document.CreateTextNode("Test(['ABC','EFG'],{'name':'First Name','surname':'LastName'})"));
NodeList headElm = browser.Document.GetElementsByTagName("head");
headElm[0].AppendChild(scriptElm);
Выше кода вызывается метод Java-сценария из отображаемой HTML-страницы.
Код Java Script:
function Test(arg1,arg2)
{
document.write(arg2.name); // Printing correct i.e. Firstname
document.write(arg2); // Bad!!!! always print [Object object]
window.external.TestMethod(arg1,arg2); // Call method in C# code.
}
C # Подпись метода
public bool TestMethod(string obj1, String obj2)
{
MessageBox.Show(obj1.ToString());
MessageBox.Show(obj2.ToString());
return true;
}
Таким образом, в приведенном выше методе обратного вызова я не могу правильно получить второй параметр ieobj2.В C #.Я всегда получаю это как Объект.Я попытался установить это в Object, но не сработало. Как мне преобразовать его в правильный формат?
Спасибо, Омки