Предоставить переменную контексту javascript (Java / WebView)

Я хочу предоставить переменную (значение) глобальному контексту javascript. Я не хочу выставить интерфейс. Я не хочу выставить функции. Я хочу предоставить одно значение в контексте Глобальный javascript, что означает, что значение должно быть доступно с window.my_value;.

Я попытался переопределить метод onPageFinished и запустить evaluateJavascript, но, похоже, это срабатывает слишком поздно, чтобы мое приложение могло прочитать значение (к тому времени, когда переменная установлена, мое приложение уже запущено и уже прочитало значение undefined для my_value).

Есть ли способ как можно скорее ввести свою переменную на загружаемую страницу, до того, как будет загружен какой-либо другой JS?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
87
1

Ответы 1

Очень просто

<script type = "text/javascript">
    a = 100;
</script>

<script type = "text/javascript">
    alert(a);
    // rest of your javascript code
</script>

Нет необходимости помещать их в отдельные теги скрипта, но я оставлю их в демонстрационных целях.

Если в вашем вопросе отсутствует какая-то важная информация, это довольно просто. Как вы говорите, вы хотите, чтобы это было установлено до запуска любого другого вашего javascript. Поэтому для этого установите глобальную переменную перед запуском любого другого javascript-кода.

Я хочу выставить / ввести переменную из java-кода в свое приложение для Android. У меня нет контроля над сайтом.

alexandernst 03.12.2018 14:22

Это была бы важная информация, о которой я тогда упомянул.

Jack hardcastle 03.12.2018 14:23

В той части, где я упоминаю, что я пытался переопределить onPageFinished и запустил evaluateJavascript, а теги «java» и «android-webview» не сработали?

alexandernst 03.12.2018 14:24

Нет, потому что я не работаю с приложениями для Android и поэтому не знаю, за что отвечают методы onPageFinished и AssessmentJavascript. Вы не можете предположить, что другие тоже узнают об этом. Насколько я знаю, у вас возникают проблемы с запуском некоторого javascript на веб-странице, которую вы пытаетесь загрузить на устройстве Android.

Jack hardcastle 03.12.2018 14:26

Итак ... вы не поняли половину вопроса, но все же отправили ответ?

alexandernst 03.12.2018 14:29

Я понял вопрос как написано. Нигде в вашем вопросе не говорится, что вы пишете Java-код для приложения для Android. Вы не можете ожидать, что кто-то извлечет это из тегов. Я действительно не хочу спорить из-за чего-то настолько глупого, так что хорошего дня, сэр, и я надеюсь, что кто-то сможет понять вопрос достаточно хорошо, чтобы помочь вам :)

Jack hardcastle 03.12.2018 14:35

Вопрос хорошо сформулирован. Проблема в том, что вы просто пропустили непонятные части.

alexandernst 03.12.2018 14:38

Я не согласен, и вы тоже, поскольку почувствовали необходимость отредактировать свой заголовок после того, как я ответил.

Jack hardcastle 03.12.2018 14:45

Я отредактировал заголовок, чтобы больше людей, не понимающих вопроса, отправляли ответы.

alexandernst 03.12.2018 14:46

Тем не менее, пожалуйста, не могли бы вы удалить свой ответ?

alexandernst 03.12.2018 14:46

Нет, но не стесняйтесь отрицать его, если считаете, что я не предоставил адекватного решения того, о чем вы просили (как запустить какой-то javascript перед другим javascript, согласно вашему вопросу). И снова хорошего дня :)

Jack hardcastle 03.12.2018 14:47

Другие вопросы по теме