У меня есть проект в xamarin, где у меня есть веб-просмотр (Renderer и другие вещи реализованы в IOS, android, UWP), я пытаюсь вставить Jquery в него, используя следующие два метода. Он отлично работает, если у меня есть другой файл JS, я могу читать и выполнять, но не jquery. 1. Сначала используйте URL-адрес. 2. Чтение всего файла JS и вставка. но ничего не работает. Я не могу выполнить ни одну функцию jquery. Помощь будет принята с благодарностью.
private async void btnExecute_Pressed(object sender, EventArgs e)
{
//Method 1
var res = ReadResource("JavaScript1.js", "jQuery(document.body).css('background-color','green');");
var obj = await webView.EvaluateJavaScriptAsync(res);
}
//Method 2
public async Task<string> LoadJQuery()
{
static string jquery = @"https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js";
string script = @"
script = document.createElement('script');";
script= script + " script.src = '" + jquery+"';";
script = script + @" var head = document.getElementsByTagName('head')[0];
head.appendChild(script); ";
script = Regex.Replace(script, @"\t|\n|\r", "");
await webView.EvaluateJavaScriptAsync(script);
return "";
}
public string ReadResource(string name, string funcToExecute)
{
var r = ReadResource(name);
r = Regex.Replace(r, @"\t|\n|\r", "");
r = r + " " + funcToExecute;
return r;
}
public string ReadResource(string name)
{
var assembly = Assembly.GetExecutingAssembly();
var resourceName = "NameSpace.Resource." + name;
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
return result;
}
}