2014-01-03 1 views
0

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

Что я хотел бы сделать, это использовать идентификатор div для получения определенного изображения с веб-сайта без необходимости жесткого кодирования ссылки на изображение. Например, одна из вещей, которые я пытаюсь сделать для это веб-комикс. Я бы хотел использовать тег div id = "comic-1" и получить img src = "...", к которому он подключен.

Я очень открыт для методов этого. Вот что я и пробовал совсем недавно:

wView.loadUrl("..."); 
wView.getSettings().setJavaScriptEnabled(true); 
wView.getSettings().setLoadWithOverviewMode(true); 
wView.getSettings().setUseWideViewPort(true); 
wView.getSettings().setSupportZoom(true); 
wView.getSettings().setBuiltInZoomControls(true); 
wView.setWebViewClient(new WebViewClient(){ 

@Override 
public void onPageFinished (WebView webView, String url) 
{ 
    webView.loadUrl("javascript:document.getElementById('comic-1').src;"); 
} 

Но он не загружает изображения. Он просто загружает сайт, как обычно.

Кроме того, это немного не работает, но я пытаюсь понять, как использовать эти теги в целом. Еще одна вещь, которую я хотел бы сделать, - удалить что-то внутри тега. Вот что я пробовал для этого:

webView.loadUrl("javascript:(function() { " + 
       "document.getElementsByTagName('header')[0].style.display=\"none\"; " + 
       "})()"); 

Я должен был включить блок HTML, с которым я работал. К сожалению, у меня нет идентификатора изображения.

<div id="comic-1" class="comicpane"><a href="" title="..."><img src="..." alt="..." title="..."/></a></div> 
+0

Не 'комик-1'' div' тег? Вы пытаетесь получить доступ к 'src' тега' div', а не тегу 'img'. Тег 'div' не имеет атрибута' src'. Вместо этого вы можете дать идентификатор тегу 'img' и получить доступ к нему с помощью' getElementById ('image'). Src' – JoelFernandes

ответ

0

Вы можете попробовать это:

HTML блок:

<div id="comic-1"> 
    <img id="image" src="http://www.w3schools.com/jsref/compman.gif" width="107" height="98"> 
    <img id="smile" src="http://www.w3schools.com/tags/smiley.gif" width="107" height="98"> 
</div> 

Доступ его:

webView.getSettings().setJavaScriptEnabled(true); 
webView.loadUrl(URL); 
webView.setWebViewClient(new WebViewClient(){ 
    @Override 
    public void onPageFinished(WebView webView, String url) 
    { 
     webView.loadUrl("javascript:var s = document.getElementById('smile').src;document.write(s);"); 
    } 
}); 

Переход на приведенном выше примере, это запишет источник изображения в документ.

[EDIT]

var parent = document.getElementById("comic-1"); 
var child = parent.getElementsByTagName("img"); 
document.write(" image 1 = " + child[0].src + " image 2 = " + child[1].src); 
+0

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

...
donutsorelse

+0

Ну, если это так, используйте 'getElementsByTagName()' Проверьте мой отредактированный ответ. – JoelFernandes

+0

Еще раз спасибо. Последний вопрос. Я только недавно понял, что код предназначен для поиска и отображения источника, который он делает отлично. Тем не менее, я пытаюсь отобразить изображение в веб-браузере. Как мне это сделать, а не просто отображать URL-адрес? – donutsorelse

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

  • Нет связанных вопросов^_^