【发布时间】:2013-06-03 01:58:44
【问题描述】:
我正在尝试使用 jQuery,但 ready 函数似乎不起作用:
<html>
<head></head>
<body>
<div id="locationdemo">
<p id="demo">Click the button to get your coordinates:</p>
<button id="locationButton" onclick="getLocation()">Click me!</button>
</div>
<div id="loading" clas="load">
<p>Acquiring Location</p>
<img border="0" src="ajax-loader.gif" alt="Loading" width="32" height="16">
</div>
脚本从这里开始;
<script src="Distance.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
alert("why isn't this running?");
$("#loading").hide();
});
var x=document.getElementById("demo");
var retries = 0;
function getLocation() {
alert("before check");
if (navigator.geolocation) {
var timeoutVal = 6000;//in milliseconds
var watchid = navigator.geolocation.getCurrentPosition(
displayPosition,
displayError,
{ enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 }
);
} else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function displayPosition(position) {
var accuracy = position.coords.accuracy;
var maxAcceptableAccuracy = 300.48//in meters, this is eqaul to 100 feet
alert("accuracy: "+accuracy);
if(accuracy > maxAcceptableAccuracy && retries < 10) {
retries = retries++;
getLocation();
return;
}
retires = 0;
x.innerHTML="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
function displayError(error) {
var errors = {
1: 'Permission denied',
2: 'Position unavailable',
3: 'Request timeout'
};
alert("Error: " + errors[error.code]);
}
</script>
</body>
</html>
警报(“为什么不运行”);没有运行。我究竟做错了什么?我已经坚持了 2 个小时。
【问题讨论】:
-
您是在使用 file:// 还是在本地服务器中尝试?
-
您是否告诉浏览器忽略此页面的更多弹出窗口?
-
你应该在
src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"的url中指定'http://' -
如果使用
file://运行,src=//将失败。 -
致所有认为需要
src中的http:部分的人:省略该方案并不少见,以便可以毫无问题地从http和@987654330 提供文件@。该方案是自动填充的。正如 Raphael 提到的,如果 HTML 文件以不同的方式提供(例如,通过file),这将不起作用。
标签: javascript jquery html