, как я новичок в программирование я сделал что-то вроде этого:Загрузить изображение/логотип в поле ввода HTML существующего - UIWebView
- (void)completeUserFieldsForWebView:(UIWebView *)webView withUsername:(NSString *)username {
// TextField Which has Value "email"
NSString *loadUsernameJS =
[NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='email']\"); \
for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '%@';}", username];
// TextField Which has Value "Text" if email is not found
NSString *loadText =
[NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='text']\"); \
for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '%@';}", username];
[webView stringByEvaluatingJavaScriptFromString: loadUsernameJS];
[webView stringByEvaluatingJavaScriptFromString: loadText];
}
Что заполнить все текстовые поля в соответствии с моим входом. , ,
- (void)completePasswordFieldsForWebView:(UIWebView *)webView withPassword:(NSString *)password {
NSString *loadPasswordJS =
[NSString stringWithFormat:@"var passFields = document.querySelectorAll(\"input[type='password']\"); \
for (var i = passFields.length>>> 0; i--;) { passFields[i].value ='%@';}", password];
[webView stringByEvaluatingJavaScriptFromString: loadPasswordJS];
}
, который заполняет параметр пароля на определенной странице HTML в UIWebView. , ,
Вопрос в том, как я могу вставлять свои собственные изображения в частности текстовое поле?
Try No. 1:
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function myFunction() { "
"var field = document.getElementById('txtAdminPwd');"
"field.style.backgroundImage='url(icon1.png)';"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];
Не получать успеха. , ,
Try No. 2 (@ Аруна):
NSString *cssString = @".login-text-box-bg1{ background-image:url(myProjectName/Arun.png); background-position: right top; background-repeat: no-repeat; background-size: contain; }"; // 1
NSString *javascriptString = @"var style = document.createElement('style'); style.innerHTML = '%@'; document.head.appendChild(style)"; // 2
NSString *javascriptWithCSSString = [NSString stringWithFormat:javascriptString, cssString]; // 3
[webView stringByEvaluatingJavaScriptFromString:javascriptWithCSSString]; // 4
- местное изображение находится вне на моем проекте. , ,
Сэр, спасибо за усилия, но он все еще не решает Универсальный подход. , ,
Новый тест: я могу получить идентификатор или имя класса с помощью [inputNode getAttributeNamed: @ "ID"] [метод] 2
Теперь, что если я делаю что-то вроде этого
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function myFunction() { "
"var field = document.getElementById('%@');"
"field.style.backgroundImage = 'url('icon1.png')';"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);",[inputNode getAttributeNamed:@"id"]];
[webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];
, но это ошибка, мы не можем передать аргумент? оставить: \
Мой Actual девиза показывает локальное изображение в каждой входной метке (Universal)
Done:
NSString *strJSInjection = [NSString stringWithFormat:@".%@{ background-image:url(https://s29.postimg.org/qqxoigjbr/Arun_Photo.png); background-position: right top; background-repeat: no-repeat; background-size: contain; }",[inputNode getAttributeNamed:@"class"]];
NSString *cssString = strJSInjection; // 1
NSString *javascriptString = @"var style = document.createElement('style'); style.innerHTML = '%@'; document.head.appendChild(style)"; // 2
NSString *javascriptWithCSSString = [NSString stringWithFormat:javascriptString, cssString]; // 3
[webView stringByEvaluatingJavaScriptFromString:javascriptWithCSSString]; // 4
Знаете ли вы имя класса или идентификатор текстового поля, которое необходимо вставить изображение? – arunjos007
Да, у меня есть доступ к текстовому полю, я пытался вставить javascript, но все равно не получаю никакого успеха. , , –
Попробуйте мой ответ – arunjos007