„JQuery“ gauna problemą naudojant „Chrome“ vietinius failus

Turiu labai paprastą bandomąjį puslapį, kuris naudoja XHR užklausas su jQuery $ .getJSON ir $ .ajax metodais. Tas pats puslapis veikia kai kuriose situacijose, o ne kitose. Konkrečiai, jis neveikia „Chrome“ „Ubuntu“.

Bandau „Ubuntu 9.10“ su „Chrome“ 5.0.342.7 beta ir „Mac OSX 10.6.2“ su „Chrome“ 5.0.307.9 beta.

  • Jis veikia tinkamai, kai failai yra įdiegti žiniatinklio serveryje iš „Ubuntu“ / „Chrome“ ir „Mac“ / „Chrome“ ( pabandykite čia ).
  • Jis veikia tinkamai, kai failai yra įdiegti vietiniame standžiajame diske „Mac“ / „Chrome“ (failo prieiga: /// ...).
  • FAILS, kai failai yra įdiegti vietiniame kietajame diske Ubuntu / Chrome (failo prieiga: /// ...).

Mažą 3 failų rinkinį galima atsisiųsti iš tar / gzip failo: http://issues.tauren.com/testjson/testjson.tgz

Kai jis veikia, „Chrome“ konsolė pasakys:

 XHR finished loading: "http://issues.tauren.com/testjson/data.json". index.html:16Using getJSON index.html:21 Object result: "success" __proto__: Object index.html:22success XHR finished loading: "http://issues.tauren.com/testjson/data.json". index.html:29Using ajax with json dataType index.html:34 Object result: "success" __proto__: Object index.html:35success XHR finished loading: "http://issues.tauren.com/testjson/data.json". index.html:46Using ajax with text dataType index.html:51{"result":"success"} index.html:52undefined 

Kai tai neveikia, „Chrome“ konsolėje bus rodoma:

 index.html:16Using getJSON index.html:21null index.html:22Uncaught TypeError: Cannot read property 'result' of null index.html:29Using ajax with json dataType index.html:34null index.html:35Uncaught TypeError: Cannot read property 'result' of null index.html:46Using ajax with text dataType index.html:51 index.html:52undefined 

Atkreipkite dėmesį, kad ji net nerodo „XHR“ užklausų, nors veikia sėkmės tvarkytojas. Aš prisiekiu, kad jis anksčiau dirbo Ubuntu / Chrome, ir nerimauju, kad kažkas negerai. Aš jau ištrinau ir iš naujo įdiegiau „Chrome“, tačiau tai nepadėjo.

Ar kas nors gali jį išbandyti savo Ubuntu sistemoje ir pasakyti, ar turite kokių nors problemų? Atkreipkite dėmesį, kad „Firefox“ veikia gerai.

46
30 марта '10 в 2:34 2010-03-30 02:34 Taurenas yra nustatytas kovo 30 d. 10:34 2010-03-30 02:34
@ 6 atsakymai

Tai yra žinoma „Chrome“ problema.

Čia yra nuoroda klaidų sekimo priemonėje:

Problema 40787: Vietiniai failai neįkeliami su Ajax

29
07 мая '10 в 14:15 2010-05-07 14:15 Atsakymas duotas Daniel Furrer gegužės 07 '10, 14:15 2010-05-07 14:15

Kitas būdas tai padaryti yra paleisti vietinį HTTP serverį jūsų kataloge. „Ubuntu“ ir „MacO“ su ​​„Python“ įdiegta, tai yra viena eilutė.

Pakeiskite į katalogą, kuriame yra jūsų žiniatinklio failai ir:

 python -m SimpleHTTPServer 

Tada prisijunkite prie http: // localhost: 8000 / index.html su bet kuria žiniatinklio naršykle, kad patikrintumėte savo puslapį.

37
03 мая '11 в 15:48 2011-05-03 15:48 atsakymą pateikė Sébastien RoccaSerra 03 gegužės 11 d. 15:48 2011-05-03 15:48

„Windows“ sistemoje „Chrome“ galima įdiegti „AppData“ aplanke:

„C: naudotojai„ AppData “Vietinis„ Google “„ Chrome “taikymas“

Prieš vykdydami komandą įsitikinkite, kad visi „Chrome“ >yra uždaryti ir neveikia kitaip. Arba komandų eilutės parinktis nebus veiksminga.

 chrome.exe --allow-file-access-from-files 
12
17 нояб. atsakymą Thomas pateikė lapkričio 17 d. 2010-11-17 22:44 '10, 10:44 PM 2010-11-17 22:44

Jsoną galite įdėti į js failą ir išsaugoti jį visuotiniame kintamajame. Tai nėra asinchroninis, bet gali padėti.

2
31 янв. Atsakymas pateikiamas Zdeněk Mlčoch sausio 31 d 2013-01-31 01:23 '13 ne 1:23 2013-01-31 01:23

Papildomas būdas išspręsti šią problemą yra „Flash Player Local Only“ ir „ExternalInterface“ programinės įrangos smėlio dėžių naudojimas. Jei norite atsisiųsti failą iš standžiojo disko, galite paprašyti „JavaScript“ skelbti „Flash“ programą, naudodami „Local Only“ smėlio dėžutę, o „Flash“ gali perduoti duomenis į „JavaScript“ per „Flash ExternalInterface“. Aš išbandžiau jį „Chrome“, „FF“ ir „IE9“ sistemose ir gerai veikia. Man būtų malonu pasidalinti šiuo kodu, jei kas nors domisi.

Redaguoti: pradėjau „Google“ kodo projektą (ironišką?) Įgyvendinti: http://code.google.com/p/flash-loader/

0
10 мая '11 в 3:02 2011-05-10 03:02 atsakymą pateikė „ CommissarXiii“ gegužės 10 d., 11 d., 3:02 2011-05-10 03:02

@Mike „Mac“ įrašykite jį terminale:

 open -b com.google.chrome --args --disable-web-security 
0
07 мая '10 в 23:28 2010-05-07 23:28 Atsakymą Shazronas pateikia gegužės 07 d. 10 val. 23:28 2010-05-07 23:28

Kiti klausimai apie „ žymes „ arba Užduoti klausimą