Chrome: Cross Origin Requests
Per fare il debug di applicazioni Javascripts, sicuramente i moderni browser (Safari, Firefox, Chrome) hanno degli strumenti molto utili.
Per Chrome esiste un’estensione che aiuta nel debug di applicazioni sviluppate con Sencha, ovvero App Inspector for Sencha.
Per fare il debug di applicazioni locali, è però necessario autorizzare Chrome per effettuare chiamate Ajax su filesystem, altrimenti si avrà un errore del tipo:
1 |
XMLHttpRequest cannot load file://localhost/Users/me/repos/app/templates/blah.html. Cross origin requests are only supported for HTTP. |
In questo caso è necessario avviare Chrome con l’opzione -allow-file-access-from-files. Per farlo si può avviare l’applicazione AppleScript editor ( Applicazioni -> Utility -> AppleScript Editor ) ed incollare il seguente codice:
1 |
do shell script "open '/Applications/Google Chrome.app' --new --args -allow-file-access-from-files" |
Fatto questo, bisognerà cliccare sul pulsante Compila e poi salvare lo script come Applicazione (File -> Salva -> “ChromeDev”). Assicurarsi che il formato sia Applicazione.
Bene, ora si potrà fare doppio click su ChromeDev per poter fare anche chiamate Ajax locali.
In alternativa, per i più smanettoni e comunque una procedura che va ripetuta ad ogni aggiornamento di Chrome, si può creare uno script di avvio “ponte” che avvia la vera app quando richiamato. In particolare, dal terminale:
1 2 |
cd /Applications/Google\ Chrome.app/Contents/MacOS/ mv Google\ Chrome Google\ Chrome.ok |
e poi creiamo nuovamente il file di partenza dell’app:
1 |
vi Google\ Chrome |
in cui inseriamo il seguente contenuto:
[sociallocker]
1 2 |
#!/bin/bash /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome.ok --new --args -allow-file-access-from-files |
[/sociallocker]
ed assegnamo i privilegi di esecuzione:
1 |
chmod 755 Google\ Chrome |
enjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta