2010-03-11 9 views
4

Je fais une version iPhone d'un site de bureau qui inclut un blog. Le blog embarque souvent des images d'autres domaines (les URL de l'image commencent toujours par http: // dans ce cas, évidemment), mais comme j'utilise cache-manifest, ces images ne se chargent pas car elles ne sont pas déclarées dans le fichier manifeste. J'ai une section NETWORK: whitelist qui contient tous mes fichiers de demande AJAX, etc. J'ai même ajouté à la liste blanche les domaines de la ferme Flickr parce que beaucoup d'images que nous ajoutons au blog proviennent de notre page flickr. Les images flickr apparaissent très bien, mais tout autre lien "aléatoire" image d'un autre domaine est brisé.Manifeste de cache HTML5: mettre en liste blanche TOUTES les ressources distantes?

J'ai essayé d'ajouter une ligne comme ceci:

http: //

au réseau: section, mais il ne semble pas comme http: // comme une liste blanche.

Quelqu'un a des commentaires à ce sujet?

Merci! Alex

Répondre

8

ajouter juste le "drapeau générique en ligne whitelist" à votre manifeste:

NETWORK: 
* 

qui devrait faire l'affaire! plus d'info on the whatwg spec page

espérons que cela aide!

+0

Cela ne fonctionne pas sur iPhone Safari, mais semble avoir résolu le problème sur le bureau ... apparemment, l'implémentation iPhone du cache n'est pas tout à fait à spécification. –

2

Je pense que j'ai une solution de contournement. Que faire si vous avez créé un fichier côté serveur simple (remoteResource.php) que vous pouvez faire référence comme ceci:

remoteResource.php?resource=http://somewhere.com/remote/image.jpg 

Le PHP (ou tout autre langage côté serveur que vous utilisez) pourrait tout cURL dans la ressource à distance et envoyez-le non modifié au navigateur. Ensuite, ajoutez ce fichier à la liste blanche.

Je n'ai pas testé cela parce que l'environnement dans lequel je travaille n'a pas installé cURL (pouah) mais je ne vois pas pourquoi ça ne marche pas.

+0

Maintenant que je pense à cela, il faudrait une sorte d'analyse (JavaScript, probablement) pour ajouter le "remoteResource.php? Resource =" au début des attributs "src" pertinents. Cela ne devrait pas être trop difficile, cependant. –