У меня есть небольшой файл CSS, который я использую с JavaScript, чтобы переопределить CSS на веб-сайте, загруженном в WebView. Я хотел бы загрузить его локально вместо необходимости доступа к нему через Интернет. Я получил JavaScript для идеальной работы, когда файл загружен на временный файловый хост, поэтому он работает нормально, но что-то в отношении разрешений не позволяет мне использовать его в качестве ресурса.
Я попытался установить разрешения, изменить настройки WebView, чтобы всегда разрешать MixedContentMode, пытался использовать LoadData и т. Д., Но всегда выдает проблему «Не разрешено». Актив имеет действие сборки AndroidAsset.
string jsToInject = "javascript: var link=document.createElement('link');link.href='file:///android_asset/newsOverride.css';link.type ='text/css'; link.rel ='stylesheet';document.getElementsByTagName('head')[0].appendChild(link);";
view.LoadUrl(jsToInject);
Когда в поле link.href указан файл, размещенный в сети, он загружает CSS, как и ожидалось. Но когда он выбран в качестве актива, он просто выбрасывает
I/chromium(11626): [INFO:CONSOLE(1)] "Not allowed to load local resource: file:///android_asset/newsOverride.css", source: (1)
Все, что я смог найти в этой ошибке - это Xamarin Forms, а не Xamarin Android, любая помощь приветствуется.