Voici l'affaire. J'ai créé des tableaux de bord HTML/Javacript qui seront affichés sur les grands écrans. Les écrans sont alimentés par des clients légers exécutant WinXP et Firefox 4. Il y aura aussi une version de bureau. Je voudrais utiliser une url (dashboard.php), puis rediriger vers la page appropriée. Je dois pouvoir faire la différence entre les grands écrans et quelqu'un utilisant Firefox depuis le bureau. Ma pensée était de changer de façon permanente la chaîne UserAgent sur les déploiements sur grand écran et d'utiliser le reniflage du navigateur pour déterminer la version à transférer également. Le problème est, il semble que FF4 a enlevé la possibilité de changer la chaîne UA de façon permanente. N'importe qui a des idées sur la façon dont je pourrais faire cela ou une idée sur la façon dont je peux différencier les grands écrans et les utilisateurs de bureau. Qu'en est-il de l'utilisation de l'adresse IP des ordinateurs qui s'affichent sur les grands écrans?Modification permanente de la chaîne UserAgent dans Firefox 4
Répondre
En particulier si les grands écrans sont sur un réseau interne, attribuez-leur une adresse IP statique et utilisez-les pour identifier les ordinateurs. Autre que cela, il suffit de passer une chaîne get en disant ?view=bigDisplay
ou similaire. Vous pouvez simplement mettre dans votre code
$bigDisplay = (isset($_GET['view'])&&$_GET['view']=='bigDisplay');
alors vous auriez un booléen si pour afficher le code bigDisplay
.
Edit: aussi, juste googlé et trouvé ceci: http://support.mozilla.com/en-US/questions/806795
Si la détection d'adresse IP n'est pas une option, vous pouvez simplement définir un cookie pour les grandes machines à écran.
Vous pouvez le faire en créant une URL spéciale, par exemple /bigscreen
, qui définira le cookie avec une date d'expiration éloignée dans le futur. Ensuite, dans votre script, vérifiez simplement l'existence de ce cookie. L'utilisation d'un cookie signifie que vous n'avez pas à vous soucier de continuer à ajouter des chaînes de requête aux URL suivantes.
Editer: Vous pouvez même placer le cookie manuellement dans Firefox si vous souhaitez éviter de visiter une URL spéciale. Il y a des ajouts pour faciliter cela.
Encore une fois, cela nécessite toujours des URL séparées pour le bureau et la version grand écran. C'est ce que j'essaie d'éviter. – Donavan
@Donavan: Ce que je veux dire, c'est que c'est tout autant d'effort pour modifier la chaîne de l'agent utilisateur dans le navigateur que de visiter une seule URL en même temps. Vous pouvez même placer manuellement le cookie dans Firefox si vous le souhaitez. – webbiedave
La configuration manuelle du cookie peut être une option. Je vais devoir regarder ça. Je dois tester les redémarrages du navigateur et de la machine pour m'assurer que le cookie persiste. – Donavan
Javascript
if((screen.width >= 1024) && (screen.height >=768))
{
window.location= '?big=1';
}
PHP
if($_GET['big'] == 1){
setcookie('big', 1, 0);
}
Ensuite, il suffit de lire cookie et c'est ça ...
Les tests de taille d'écran ne sont pas suffisamment fiables pour permettre de distinguer les deux scénarios. La définition du cookie nécessite toujours un paramètre de chaîne de requête ou une URL différente pour savoir quand le définir. – Donavan
@Donavan, alors le problème est? –
Vous pouvez définir la chaîne UA très bien dans Firefox 4. La préférence general.useragent.override
vous permettra de le définir comme vous le souhaitez.
Ce qui a été supprimé était un moyen de modifier des parties de la chaîne UA sans surcharger le tout.
- 1. Modification permanente de la session
- 2. Modification permanente d'une valeur statique
- 3. Modification permanente d'un type de pointeur
- 4. MSBuild: modification permanente de la propriété PropertyGroup d'un projet
- 5. Jsoup Lire Time Out en fonction de la chaîne UserAgent
- 6. jQuery dans Firefox 4
- 7. Spoofing UserAgent dans Opera
- 8. Quel userAgent utilise dans cakePHP?
- 9. valider useragent versions
- 10. Barre d'état dans Firefox 4
- 11. Problèmes d'applet dans Firefox 4
- 12. Modification de la langue des chaînes dans Zurb Foundation 4
- 13. frontière rose dans Firefox 4
- 14. Firefox 4 superposition de la barre d'outils
- 15. Comment analyser UserAgent en Javascript
- 16. Modification permanente de la base de données d'une connexion OLE DB
- 17. Problème de cache ajax dans firefox 4
- 18. Modification permanente des valeurs html à l'aide de javascript?
- 19. Modification de ConnectionString dans Entity Framework 4
- 20. urllib2 useragent
- 21. Undefined index: userAgent dans CakeSession
- 22. Modification des réponses HTTP dans l'extension Firefox
- 23. flush() ne fonctionne pas dans Firefox 4
- 24. animation fluide que dans Firefox 4
- 25. Flicker HTML5 Canvas dans FireFox 4
- 26. MediaElement.js dans Firefox 4 Beta 10?
- 27. Modification AJAX dans .NET 4: Sys.Services.AuthenticationService
- 28. Mojo :: UserAgent et la barre de progression
- 29. Modification de chaîne constante
- 30. Modification de la chaîne de formulaire Php
J'essayais d'éviter d'utiliser un paramètre de chaîne de requête afin d'avoir une URL simple. J'ai également vu cet article aussi, donc je vais essayer. L'adresse IP est une possibilité, bien que je doive vérifier auprès de l'administrateur réseau comment obtenir des adresses IP statiques pour ces périphériques. Ils utilisent normalement DHCP. – Donavan
J'ai essayé le paramètre general.useragent.override dans environ: config et cela semblait le faire. Merci pour le conseil. – Donavan
Nous utilisons de grands affichages dans notre lobby. Le navigateur est en mode plein écran, l'URL n'est visible par personne. Aussi la façon dont j'ai suggéré d'utiliser la chaîne de requête, il aurait seulement besoin d'être sur les ordinateurs d'affichage. Tous les autres ordinateurs n'auraient pas besoin de la chaîne de requête pour fonctionner. –