2013-12-15 1 views
1

Я использую Android для вызова JavaScript, который принимает параметр String.Android, передающий неизвестную строку в javascript

Это работает в обычном случае, как показано ниже:

String statement = "Hello World!"; 
webview.loadUrl("javascript:echo('" + statement + "')"); 

За этот интерфейс просто призыв к Android Toast API, в этом нет ничего особенного.

Теперь, поскольку я понятия не имею, что String будет передавать эту функцию «echo», я хочу знать, есть ли способ гарантировать, что эта функция JavaScript будет выполнена независимо от того, какую String она получила?

Например, я хочу ввести одну цитату ('). Чтобы функция JavaScript была вызвана правильно, мне нужно избежать цитаты с помощью обратного слэша().

Существует множество других символов, которые необходимо обрабатывать тогда.

Есть ли у кого-нибудь идея, как это сделать?

ответ

0

Непонятно, почему вы хотите это сделать, но цитата - единственный способ избежать. Так что вы могли бы сделать:

statement = statement.replaceAll("'","\\'"); 
+0

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

+0

Итак, что еще вы хотите обработать? – CtrlX

+0

Существует множество символов, которые при переходе на JavaScript таким образом просто не работают. И у меня нет списка для них. Таким образом, я использую общий способ справиться с этим. – LightYearsBehind

Смежные вопросы