gpt4 book ai didi

javascript - 具有 Web 服务调用的 Html5 应用程序可在模拟器上运行,但不能在设备上运行

转载 作者:行者123 更新时间:2023-11-28 03:24:23 24 4
gpt4 key购买 nike

我使用 javascript 在 HTML5 中开发了一个应用程序。我已经使用 json 调用了 php web 服务。现在我正在尝试为 android 执行它。

该应用程序与模拟器上的网络服务配合良好,但无法从设备上的服务器加载文本和图像。

我尝试了许多在 stackoverflow 和其他链接上找到的解决方案,例如使用主机名、检查设备的 wifi、 list 文件中的 INTERNET 权限、使用 WebView,但它不起作用。

请帮忙。

//这是我在eclipse中做的。

public class MainActivity extends DroidGap {

WebView webview;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("hello","start");

webview = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webview.setWebChromeClient(new WebChromeClient());

webview.loadUrl("file:///android_asset/www/HTML/index.html");
Log.d("After load", "url");

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

获取图像和文本都是在 javascript 中完成的。它在浏览器和模拟器上工作都没有问题。但它在设备上失败了。

//这是我的json调用函数。

<script>
function jsondata(data)
{
setTimeout(function () {
var parsedata = JSON.parse(JSON.stringify(data));
var main_category = parsedata["mainCategory"];

for (var i = 0; i < main_category.length; i++)
{
var menu = main_category[i];
menu_id=menu['mcatid'];

var id = document.createElement("table");

if((i%2)==0)
{

id.innerHTML+='<br><br><br><td><a href="#" onclick="selected_index('+menu_id+')"><img src='+menu['mcatimage']+'><br><hr color=#000;>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><font face="DEVROYE">'+menu['mcattitle']+'<hr color=#000;></a></td></strong>';
document.getElementById("id_left").appendChild(id);
}
else
{

id.innerHTML+='<br><br><br><tr><td><a href="#" onclick="selected_index('+menu_id+')"><img src='+menu['mcatimage']+'><br><hr color=#000;>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><font face="DEVROYE">'+menu['mcattitle']+'<hr color=#000;></a></td></strong>';
document.getElementById("id_right").appendChild(id);
}
}
}, 2000);
}

/*-------------calling web service-----------*/
jsonp("http://hostname/maincategory.php?callback=jsondata");
</script>

以下是我如何从 Web 服务获取图像和文本并显示在 HTML 页面上。这有什么问题?

今天我尝试了很多事情,比如改变 <access origin="*"/><access origin=".*"/><access origin="http:hostname"/>但没有任何效果。

最佳答案

我的应用程序现在也可以在设备上运行。

android端没有问题。我在 javascript 中使用 ajax 而不是 json。它也开始在设备上高效工作。

关于javascript - 具有 Web 服务调用的 Html5 应用程序可在模拟器上运行,但不能在设备上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com