很好奇一個剛剛遇到的問題...
主動
navigator.geolocation.getCurrentPosition(
handlePosition,
handleError
)
function handlePosition(position) {
$.cookie('abc', true)
}
function handleError(error) {
}
如果是這樣子寫的時候,$.cookie('abc', true)
可以順利執行
但假設是這樣
被動
function getGeoLocation() {
navigator.geolocation.getCurrentPosition(
handlePosition,
handleError
)
}
function handlePosition(position) {
$.cookie('abc', true)
}
function handleError(error) {
}
透過按鈕觸發
<button onclick="getGeoLocation()">abc</button>
此時就會出現$.cookie is not a function
的錯誤
這是為什麼?
我的想像是
當確定獲取到位置時,存入cookie方便使用
但遇到了這個問題@@這是怎麼了嗎...
懇請大大解析
你真的確定問題是JQuery???????
https://codepen.io/ted59438/pen/bGwEQPP
請問開這個網頁你的是正常的?
https://jsfiddle.net/wbcq3ho4/
然後我把你的code改成
function handlePosition(position) {
$.cookie('abc', true)
console.log($.cookie('abc'))
}
https://imgur.com/EPTNgX4
我得到的是undefined
我使用谷歌瀏覽器,cookie都允許
然後我沒有說是jquery的問題,我只是闡述了我遇到的問題
上次已經提醒過你,要修正問問題的方式。
你覺得你沒有說是JQuery的問題,但是你的敘述,就是在預設問題是JQuery在function無法使用,還浪費時間等別人問你才提供完整程式碼,等別人問才說你是用Chrome測試。
要請別人幫你找錯誤,就不要只提供片面的程式碼和口述的錯誤訊息
當你改用更好的提問:「Chrome無法存取JQuery的Cookie plugin與原生的Cookie」,清楚的描述問題,問題往往就解決了。
Chrome不允許存取本地file的Cookie,請你自己在本機開個HTTP Server,把網頁放上去,使用Chrome輸入IP連到網頁測試,就會抓的到。
https://stackoverflow.com/questions/8602833/where-are-cookies-saved-for-a-local-html-file
少掛了一隻jquery.cookie了吧
參考:https://github.com/carhartl/jquery-cookie