0

У меня есть веб-просмотр, и я бы добавил несколько JS после загрузки страницы.Как вставить JS на веб-просмотр UWP?

Я знаю, что на Android можно использовать

webView.loadUrl("javascript:function foo(str) { } foo('x');"); 

но UWP

WebView.Navigate("javascript:function foo(str) { } foo('x');"); 

не работает, потому что хочет Navigate объект URI, а не строка.

Как я могу это сделать?

+0

Посмотрите 'WebView.InvokeScriptAsync' :) –

+0

@Neil Turner это работает. Благодаря! –

ответ

1

Одно из решений:

  1. Загрузить веб-страницы в виде строки (например, с помощью HTTPClient).
  2. Объедините строку с вашим пользовательским JS.
  3. Звоните NavigateToString (не перейдите) и перейдите на комбинированную страницу.

Мы использовали это решение один раз, когда WP8.1 имел проблемы с касаниями. Мы ввели hammer.js на все веб-страницы, используя вышеуказанный метод, и он работал хорошо.

Другое решение:

Использование InvokeScriptAsync, как Нил упомянуло в своем комментарии. Это хороший обзор этого решения на MSDN Forums.

+0

скачать каждую страницу не медленно? –

+0

Браузер загружает страницу в любом случае, поэтому, по крайней мере, в нашем случае мы не видели никаких проблем с производительностью. –