Php url将不会加载到webview中
我有一个应用程序,它有一个包含web视图的片段。当我尝试其他URL时,web视图功能正常,但是当我尝试使用“http://peekatu.com/scraper/onair.php“它将不会加载到web视图中。我不知道它为什么不能加载。谢谢你的帮助。多谢各位Php url将不会加载到webview中,php,android,android-webview,Php,Android,Android Webview,我有一个应用程序,它有一个包含web视图的片段。当我尝试其他URL时,web视图功能正常,但是当我尝试使用“http://peekatu.com/scraper/onair.php“它将不会加载到web视图中。我不知道它为什么不能加载。谢谢你的帮助。多谢各位 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v= inflater.inflate(R.layout.fragment_listen_live, container, false);
btn = (Button) v.findViewById(R.id.button1);
btn.setOnClickListener(pausePlay);
web_v= (WebView) v.findViewById(R.id.webView);
WebSettings web_sett=web_v.getSettings();
web_sett.setJavaScriptEnabled(true);
//web_v.setWebViewClient(new MyWebClient());
web_v.setWebChromeClient(new WebChromeClient());
web_v.loadUrl("http://peekatu.com/scraper/onair.php");
MainActivity m = (MainActivity) getActivity();
m.changeMenu("homePage");
this.getSherlockActivity().getSupportActionBar().setTitle("Power 92 Chicago");
this.getSherlockActivity().getSupportActionBar()
.setSubtitle("#1 in the Streets!");
return v;
}
private class MyWebClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
web_v.loadUrl(url);
return true;
}
}
onair.php
<?php
set_time_limit(0);
ignore_user_abort(FALSE);
error_reporting(E_ERROR);
ini_set('display_errors', 'on');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.power92chicago.com/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
if (isset($_SERVER['HTTP_USER_AGENT'])) {
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
}
$dom = new DOMDocument();
$dom->loadHTML(curl_exec($ch));
$xpath = new DOMXPath($dom);
$node = $xpath->query("//td[contains(concat(' ', normalize-space(@class), ' '), ' TimeFeatureHorizontalTd ')]")->item(0);
echo get_inner_html($node);
function get_inner_html($node) {
$innerHTML= '';
$children = $node->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveXML( $child );
}
return $innerHTML;
}
?>
在调用加载URL
之前,添加以下行:
web_v.setWebChromeClient(new WebChromeClient());
另外,我不知道你为什么要定义一个WebViewClient
来覆盖shouldloverrideurlloading
,然后自己调用loadUrl
——只需删除它。用移动浏览器测试网页不会加载,所以问题肯定不在你的android代码中,问题在php代码上
你能分享生成该网站的代码吗
此外,如果您试图在应用程序中显示信息,您可能需要考虑另一种方法,如果您想在应用程序中显示数据列表,您可能希望使用listView并从JSON REST Api获取数据,而不是在php网站中显示该列表是否添加了INTERNET权限?是的。web视图可以加载其他URL。来自同一域的其他URL?是。我可以加载。peekatu.com很好。或者甚至peekatu.com/blank.htmlis加载.php文件需要做什么特殊的事情吗?我已经添加了这一行,但是url仍然没有加载。我已经更新了问题中的代码,以反映所做的更改。谢谢。我已将php代码添加到我的原始问题中。