Android WebView не может выполнить Javascript, когда html имеет специальный символ ✓ - PullRequest
0 голосов
/ 05 февраля 2019

Javascript не выполняется, когда приведенный ниже код загружен в Android WebView.

Проблема видна только в том случае, если поле ввода со значением ✓ включено в html.Присвойте текстовое поле ввода в приведенном ниже коде с именем «utf8».

Этот ввод и его значение возвращаются поставщиком платежного шлюза. Это часть данных формы, которую необходимо отправить ихURL домена для завершения платежа. Следовательно, значение и HTML не могут быть изменены.

<!DOCTYPE html>
<html>
	<head>
	  <title></title>
	</head>
	<body>
	<form action=“” accept-charset=“UTF-8” method=“post”>
	   <input name=“utf8” type=“hidden” value=“&#x2713;” />
	</form>
	<script>
		alert("hello world");
	</script>
	</body>
</html>

Проблема наблюдается:

  • Samsung Galaxy S7, версия Android 8.0.0
  • One Plus 5, версия Android9

Отлично работает на:

  • Motog 5s Plus, версия Android 8.1.0
  • Samsung J2, версия Android 5.1.1

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Я получаю эту проблему, как только в моем веб-просмотре появляются символы хеш-меток.Я думал, что я был только реакцией-родной + специфическая проблема хрома 72.Проблема по-прежнему возникает, если вы удалите #?

(. Есть ли способ отобразить html с хэшмарками (#) в собственных веб-приложениях android, где Chrome ver.> 72 )

0 голосов
/ 06 февраля 2019

Решением для меня было заменить # на% 23.

В обновлении Chrome 72 веб-просмотр рассматривает # как конец содержимого: https://www.chromestatus.com/feature/5656049583390720

0 голосов
/ 05 февраля 2019

Почему вы устанавливаете значение таким образом?

И почему бы не установить «тип» как флажок в вашем примере?

Вы можете установить флажок как «проверено» или «не проверено», просто включив «проверено»«внутри тега.Например,

<input name=“utf8” type=“checkbox” value=“Buy_Milk” checked >

. Вы можете установить атрибут значения на что-то релевантное, например, сказать «купить молоко», и вы можете проверить, отмечен ли он галочкой, используя метод .checked в Javascript.

document.getElementById("utf8").checked = true;
//Do something if true

document.getElementById("utf8").checked = true;
//Do something else if false

Насколько я понимаю, нет причин добавлять ссылку на Unicode в качестве значения.

...