В приложении Flutter я загружаю веб-просмотр, используя initialUrlRequest, указывая на веб-страницу на основе React (form.tsx). Страница React пытается динамически загрузить файл JavaScript через конечную точку API, а затем уведомляет трепетание при его рендеринге.const script: HTMLScriptElement = document.createElement('script');
script.src = formScriptUrl; // loaded via axios blob: "/down?formPath=/resources/example/form-ex.js"
script.defer = true;
script.onload = function () {
window.flutter_inappwebview.callHandler('formRendered');
};
document.body.appendChild(script);
< /code>
файл JS извлекается из Spring API: < /p>
return await axios( {
url: '/down?formPath=/resources/example/form-ex.js',
method: 'GET',
responseType: 'blob',
headers: {
'Content-Type': 'text/javascript'
'Accept': 'application/json',
},
});
< /code>
После получения сигнала FormRendered в Flutter мы запускаем: < /p>
await _webViewController?.evaluateJavascript(source: 'getBodyHtml()');
< /code>
где getbodyhtml (): < /p>
const formEl = document.getElementById("body-html-area");
const BodyHtml = formEl?.innerHTML || '';
return BodyHtml;
< /code>
Проблема: < /strong> < /p>
- Вызов API не производится в /вниз? FormPath = .... У сервера нет журналов запроса или ошибок. < /li>
Мы обернули логику сценария в Try-Catch, с Alert () в случае ошибки, но нет Alert alert alert alert alert. WebView только показывает пустой экран. < /Li>
Эта проблема возникает только для 2 ~ 3 пользователей. Most users have no problems.
- Devices include both Android and iOS.
- Minimum Android version observed: 14
- No consistent pattern (e.g., Galaxy S23 works for some, fails for others)
- Подтверждено, что файл JS хорошо загружается, когда доступ к браузерам. Условия. />
Подробнее здесь: https://stackoverflow.com/questions/796 ... cript-in-r
Мобильная версия