【问题标题】:Android WebView not showing a JavaScript section of websiteAndroid WebView 不显示网站的 JavaScript 部分
【发布时间】:2011-04-20 13:48:22
【问题描述】:

感谢阅读!

我正在使用 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 还很陌生。有人可以帮忙吗?

谢谢!

编辑:添加代码。注意:下面的部分和上面的&lt;div&gt; 部分出现在&lt;body&gt; 标记中


<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 - 但结果它只增加了对alert(), prompt() 等JS 方法的支持。除了this 之外没有太多文档,但无论它是否对他们有用,OP 似乎都接受了答案。然而,该解决方案对我不起作用。

【问题讨论】:

  • 有人可以帮我解决这个问题吗?

标签: javascript android android-webview


【解决方案1】:

请检查这些代码行

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

显然,在您的情况下,代理不是“iphone”,因此执行的代码是

OAS_AD('TOP'); 

如果您也附上该代码会很有用...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2019-03-24
    相关资源
    最近更新 更多