Android WebView не показывает раздел JavaScript сайта - PullRequest
0 голосов
/ 20 апреля 2011

Спасибо за чтение!

Я использую WebView для показа мобильного веб-сайта.Существует page.html, который делает AJAX xmlHttpRequest.responseText для извлечения содержимого страницы.

Я вижу весь веб-сайт, за исключением двух разделов с рекламой.


<div class="top-banner" class="top-rule">
<div id="hp_leaderboard" class="adContainer">
<script language="javascript" type="text/javascript">
var agent=navigator.userAgent.toLowerCase();
var is_iphone = ((agent.indexOf('iphone')!=-1));
if(is_iphone)
{
OAS_AD('MISC1'); } else {
OAS_AD('TOP');
}
</script>
</div>
</div>

Я сделал


WebSettings = this.page.getSettings(); //page is a WebView
s.setJavaScriptEnabled(); //enable JavaScript 

Я довольно плохо знаком с HTML / JS.Может ли кто-нибудь помочь, пожалуйста?

Спасибо!

РЕДАКТИРОВАТЬ: Добавление кода.Примечание. Раздел ниже и раздел <div> выше отображаются в теге <body>


<script language="JavaScript"><!--
//configuration
OAS_sitepage = 'www.boston.com/mobile/homepage';
var agent=navigator.userAgent.toLowerCase();var is_iphone = ((agent.indexOf('iphone')!=-1));if(is_iphone) {
OAS_listpos = 'MISC1,FOOTER,INTRO';
}else{
OAS_listpos = 'TOP,FOOTER,INTRO';
}
OAS_query='Unknown+Terminal';
OAS_url='http://rmedia.boston.com/RealMedia/ads/';OAS_target='_top';OAS_version=10;OAS_rn='001234567890';OAS_rns='1234567890';OAS_rn=new String(Math.random());OAS_rns=OAS_rn.substring(2, 11);
function OAS_NORMAL(pos){document.writeln('<A HREF="'+OAS_url+'click_nx.ads/'+OAS_sitepage+'/1'+OAS_rns+'@'+OAS_listpos+'!'+ pos+'?'+OAS_query+'" TARGET='+OAS_target+'>');document.writeln('<IMG SRC="'+OAS_url+'adstream_nx.ads/'+OAS_sitepage+'/1'+OAS_rns+'@'+OAS_listpos+'!'+pos+'?'+OAS_query+'" BORDER=0></A>');}
//--></script><script language="JavaScript1.1"><!--
OAS_version=11;if((navigator.userAgent.indexOf('Mozilla/3')!=-1)||navigator.userAgent.indexOf('Mozilla/4.0 WebTV')!=-1){OAS_version=10;}if(OAS_version >= 11)document.writeln('<SCR'+'IPT LANGUAGE=JavaScript1.1 SRC="'+OAS_url+'adstream_mjx.ads/'+OAS_sitepage+'/1'+OAS_rns+'@'+OAS_listpos+'?'+OAS_query+'"> <\/SCRIPT>');
//--></script><script language="JavaScript"><!--
document.writeln('');
function OAS_AD(pos){if(OAS_version >= 11)OAS_RICH(pos);else OAS_NORMAL(pos);}
//-->
</script>

EDIT2: Я также пытался ChromeWebClient - но оказалось, что он только добавляетподдержка методов JS, таких как alert(), prompt() и т. д.Существует не так много документации, кроме this , но ОП, кажется, принял ответ независимо от того, работал ли он для них.Тем не менее, это решение не сработало для меня.

1 Ответ

0 голосов
/ 20 апреля 2011

Пожалуйста, проверьте эти строки кода

var agent=navigator.userAgent.toLowerCase();
if(is_iphone)
{
  OAS_AD('MISC1'); } else {
  OAS_AD('TOP');
}

Очевидно, что в вашем случае агент не является "iphone", поэтому выполняемый код является

OAS_AD('TOP'); 

Было бы полезно, если вы прикрепитеэтот код тоже ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...