Javascript 无法在移动设备或浏览器上工作,但在“英特尔xdk”的仿真工具上工作
我使用Intel XDK开发应用程序 我只是想知道这些代码行在web浏览器或移动设备上运行时无法执行的原因是什么?但是,它们在“仿真”选项卡上运行良好。当然,这只是其他行中的一段代码,但我怀疑问题与这段代码有关Javascript 无法在移动设备或浏览器上工作,但在“英特尔xdk”的仿真工具上工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用Intel XDK开发应用程序 我只是想知道这些代码行在web浏览器或移动设备上运行时无法执行的原因是什么?但是,它们在“仿真”选项卡上运行良好。当然,这只是其他行中的一段代码,但我怀疑问题与这段代码有关 $(document).on("click", "#btnCheckPrice", function(evt) { var sFromAddress = document.getElementById('searchField').value;
$(document).on("click", "#btnCheckPrice", function(evt)
{
var sFromAddress = document.getElementById('searchField').value;
var sToAddress = document.getElementById('searchFieldTo').value;
$.ajax({
type: "POST",
url: "http://ec2-54-77-1-36.eu-west-1.compute.amazonaws.com/webops/GetEstimate.aspx?distance=2&estimatedtime=5",
success: function (data) {
//$("#result").html(data);
//alert(data);
var datatest = "distance;2;time;5;price;190.90";
var arrResult = datatest.split(";");
//alert(arrResult[0].toUpperCase());
var sPrice = arrResult[5];
var sDistance = arrResult[1];
var sMinutes = arrResult[3];
document.getElementById('lblEstimatedPrice').innerHTML = 'Pris ' + sPrice + ' kr (' + sDistance + ' km, ' +sMinutes + ' minuters färd)';
}
});
});
为了使您能够在Intel XDK或由XDK构建的应用程序中发送ajax请求或访问国外网站,我建议您在HEAD元素中添加xhr.js脚本 比如说,
<!DOCTYPE html><!--HTML5 doctype-->
<html>
<head>
<title>Your New Application</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
<style type="text/css">
/* Prevent copy paste for all elements except text fields */
* { -webkit-user-select:none; -webkit-tap-highlight-color:rgba(255, 255, 255, 0); }
input, textarea { -webkit-user-select:text; }
body { background-color:white; color:black }
</style>
<script src='intelxdk.js'></script>
<script src='xhr.js'></script>
<script type="text/javascript">
/* Intel native bridge is available */
var onDeviceReady=function(){
//hide splash screen
intel.xdk.device.hideSplashScreen();
};
document.addEventListener("intel.xdk.device.ready",onDeviceReady,false);
</script>
</head>
<body>
<!-- content goes here-->
<h2>Hello World</h2>
</body>
</html>
有关在“英特尔XDK”中发出ajax请求的更多信息,请转到“我想模拟器运行时的安全限制与浏览器不同。”。您需要检查流量,例如使用Fiddler2之类的免费工具,查看是否存在跨站点或其他安全问题。这段代码链接到一个按钮,发生的情况是“模拟”选项卡中运行“按钮单击”事件,但当涉及到实际测试场景时,在单击按钮时无法触发事件。您将如何着手解决此问题?如果有必要,我可以向您展示其余的代码。如果您可以将其放在JSFIDLE中,我可以在这里测试来自移动设备和桌面的任何调整。干杯。来了:顺便说一句,我确实试着按正确的顺序添加代码,但它们似乎显示不正确。有些东西我错过了,但我不确定!你能至少给我一些关于如何解决这个问题的建议吗@这实际上是我正在寻找的解决方案。如此简单和直接。谢谢你的帮助@eashtianjr