В настоящее время в моем UWP приложение Я получаю Text-выбор в WebView черезОкна UWP - WebView выбран текст
DataPackage package = await webview.CaptureSelectedContentToDataPackageAsync();
и зачитать строку с
await package.GetView().GetTextAsync();
Это прекрасно работает на ПК, но не на телефоне.
Что было бы лучшим способом сделать это по телефону? Я попытался ввести javascript в
window.getSelection().toString(); or document.selection.createRange().text;
но это не сработало, или я использовал его неправильно.
Любая помощь будет оценена по достоинству.
Update1:
Изменен код ниже с тем результатом, что он по-прежнему работает только на ПК, но не по телефону:
string texttoget = await mainwebview1.InvokeScriptAsync("eval", new string[] { "document.getSelection().toString();" });
if (texttoget != null)
{
Debug.WriteLine("Text To get is: " + texttoget.ToString().Trim());
}
else
{
MessageDialog msgbox3 = new MessageDialog("Please select or mark the text you would like to get.");
await msgbox3.ShowAsync();
}
На самом деле я сделал получить его работу с СТРОКА текстом = ждать mainwebview1.InvokeScriptAsync ("Eval", новая строка [] { "document.getSelection() ToString();".}); Но это снова работает только на ПК, но не на телефоне. Любые комментарии? – SunnySonic
@SunnySonic честно, я догадывался. Без фактического просмотра кода, ошибок и т. Д., Я не знаю, сможет ли кто-нибудь ответить на вопрос. У меня есть приложение, которое широко использует веб-просмотр как на телефоне, так и на рабочем столе. –
Спасибо. Обновлен мой ответ с текущим кодом. Поведение отлично работает на компьютере, но по телефону оно всегда равно нулю. – SunnySonic