2010-05-08 18 views
5

Je n'arrive pas à obtenir un objet XMLHttpRequest pour fonctionner correctement dans un widget Dashboard que j'écris. Je l'ai isolé à un exemple trivial ne fonctionne pas dans la portée globale du fichier main.js:L'utilisation de XMLHttpRequest dans le widget Dashboard échoue

xhr = new XMLHttpRequest; 
    xhr.open('GET', "http://google.com", false); 
    xhr.send(''); 

Lorsque la dernière ligne est exécutée, je reçois l'erreur « ABORT_ERR: XMLHttpRequest Exception 102 » (ce qui est en le débogueur Dashcode).

Quelqu'un a-t-il une idée de ce qui pourrait ne pas fonctionner ici?

Répondre

9

Vous devez sélectionner « Autoriser l'accès réseau » dans le « Widget Attributs "volet.

+0

Je suppose que cela est Dashcode référait, etc.? plutôt que manuellement mod/créer du widget à la main dans le code source, ce qui serait de modifier le fichier Plist comme dans les autres réponses ici. – David

6

OK, je l'ai trouvé (trois heures): vous devez ajouter la clé suivante dans le fichier Info.plist:

<key>AllowNetworkAccess</key> 
<true/> 
1

J'ai le même problème non résolu même après que AllowNetworkAccess a été ajouté à mon info.plist. J'ai essayé de changer cette clé à AllowFullAccess, mais rien n'a changé. Après le redémarrage du système, il a bien fonctionné o_O

+0

Je suppose que le widget a besoin d'un rechargement, mais comment recharger autre chose que le redémarrage du système? Il pourrait être mis en cache sinon avant le redémarrage. – David

1

Les étapes à suivre sont:

  1. Dans le menu, choisissez "Dashcode> Préférences ..." et cliquez sur l'onglet Destinations.
  2. En dessous de la colonne de gauche, cliquez sur le signe plus pour créer une nouvelle destination.
  3. Pour un site Web externe, choisissez FTP dans la liste déroulante Type. Remplissez le serveur, chemin, nom d'utilisateur et mot de passe. Fermez le volet Préférences.
  4. De retour dans Dashcode, cliquez sur l'icône Attributs de widget dans la colonne de gauche.
  5. Cochez les cases Autoriser l'accès au réseau et Autoriser l'accès aux fichiers externes dans la colonne principale.

Vous devriez être en mesure d'exécuter le widget sans 102 Erreur d'exception (si vous êtes en ligne)