2012-04-26 76 views
0

我想經度和緯度數據加載到使用下面的代碼餅乾:Jquery插件在函數中不可用?

$.cookie('test', 'test'); 
var test = true; 

function PageLoaded() { 
    if (test) { 
     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(success_handler, error_handler, { 
       enableHighAccuracy: true 
      }); 
      test = false; 
     } 
    } 
} 

function success_handler(position) { 
    latitude = position.coords.latitude; 
    longitude = position.coords.longitude; 
    accuracy = position.coords.accuracy; 
    document.getElementById("tbLat").value = latitude; 
    document.getElementById("tbLon").value = longitude; 
    $.cookie('Latitude', latitude); 
    $.cookie('Longitude', longitude); 

} 

function error_handler() { 
    document.write('This browser does not support location awareness or you have declined to allow it to view your location.'); 
} 

我加載了JQuery.Cookie.js插件。 第一個Cookie「測試」負載正常,但後兩個「緯度經度&」拋出

對象不支持屬性或方法「餅乾」

爲什麼這是一個錯誤?

+0

在您的'success_handler'中間,您切換到標準DOM'getElementById'調用。爲了保持一致,你應該堅持使用jQuery,'$('#tbLat')....' – asawyer 2012-04-26 17:38:23

+0

嘗試'jQuery.cookie('Longitude',longitude);' – mgraph 2012-04-26 17:38:25

+0

@mgraph:那不會有任何效果。 – 2012-04-26 17:38:43

回答

-2

jQuery沒有cookie()函數。您忘記了包含cookie插件 - https://github.com/carhartl/jquery-cookie

+0

第一個人工作。 – freshnode 2012-04-26 17:39:09

+0

我正在加載cookie插件。 – 2012-04-26 17:41:31

+0

啊,我的不好。什麼是調用'PageLoaded()'? – Nadh 2012-04-26 17:46:41