在现有HTML输入字段-UIWebView中加载图像/徽标
由于我是编程新手,我做过如下工作:在现有HTML输入字段-UIWebView中加载图像/徽标,html,ios,objective-c,uiwebview,Html,Ios,Objective C,Uiwebview,由于我是编程新手,我做过如下工作: - (void)completeUserFieldsForWebView:(UIWebView *)webView withUsername:(NSString *)username { // TextField Which has Value "email" NSString *loadUsernameJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(
- (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];
}
这将填充UIWebView中特定HTML页面中的密码参数
问题是如何在特定的文本框中插入自己的图像
试试第一条:
[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();"];
没有成功
试试2号(@arun's):
- 本地图像在我的项目外部李>
[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();"];
但这是一个错误我们不能通过一个论点吗??离开:\
我的实际座右铭是在每个输入标签中显示本地图像(通用)
完成:
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
对于本地图像文件,您可以尝试以下代码段
NSString *url = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
NSString *cssString = [NSString stringWithFormat:@".textBox{ background-image:url(%@); background-position: right top; background-repeat: no-repeat; background-size: contain; }",url]; // 1
你知道要插入图像的textfield的类名或id吗?是的,我确实可以访问文本字段,我尝试注入javascript,但仍然没有成功。请尝试我的回答如果你在使用objective C之前将正确的路径放在本地图像文件中,你可以通过将代码放在这里来确认你的css和链接是否工作谢谢,我已经完成了,如果可能的话,请告诉我如何显示本地图像。我更新了本地文件的答案,你也可以试试。谢谢,在WKWebView中也可以这样做吗?有什么想法吗?
<input type="text" class="textBox" />
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *cssString = @".textBox{ background-image:url(https://s29.postimg.org/qqxoigjbr/Arun_Photo.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
}
NSString *url = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
NSString *cssString = [NSString stringWithFormat:@".textBox{ background-image:url(%@); background-position: right top; background-repeat: no-repeat; background-size: contain; }",url]; // 1