IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Sharepoint .NET Discussion :

Widget Twitter sur IE8


Sujet :

Développement Sharepoint .NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Widget Twitter sur IE8
    Je cherche à installer dans une page Sharepoint 2010 un widget Twitter dans un Éditeur de contenu.
    Le code HTML fourni par Twitter sur son site est celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <a class="twitter-timeline"  href="https://twitter.com/francemusique" data-widget-id="555733711422238720">Tweets de @francemusique</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id))
    {js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
    </script>
    Ce code, inclus dans le HTML de l'éditeur de contenu fonctionne très bien sous Chrome et Firefox mais pas sous IE8
    sous Firefox : Nom : Twitter Chrome.jpg
Affichages : 399
Taille : 132,0 Ko
    Sous IE8 : Nom : Twitter France Musique.jpg
Affichages : 350
Taille : 16,9 Ko
    Quelqu'un aurait-il une solution "simple" ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Bonjour,

    Je ne pense pas que ce soit un souci Sharepoint.
    Visiblement le support pour IE8 de l'API javascript vient tout juste de prendre fin (vers le 15 janvier ?).

    https://twittercommunity.com/t/updat...-support/28234

    Edit:
    Ce n'est pas une solution ideale ni recommandable d'un point de vue securite et stabilite, mais pour continuer a l'utiliser en l'etat (jusqu'au jour ou l'api cote serveur empeche toute compatibilite ?), vous pouvez eventuellement telecharger le fichier javacript http://platform.twitter.com/widgets.js sur votre server Sharepoint, en y apportant quelques modifications pour que ca puisse fonctionner sur IE8. Le mieux serait d'utiliser une version du script qui fonctionnait deja sous IE8.

    Il y a une regex en debut de script qui filtre IE8 de la liste des navigateurs supportes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i=/MSIE [678]/.test(window.navigator.userAgent)
    Changez le par le bout de code suivant et voyez ce que cela donne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i=/MSIE [67]/.test(window.navigator.userAgent)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour nonoxp,
    Merci pour cette réponse claire.
    Une question néanmoins : Je suis le responsable fonctionnel de l'intranet, du côté fonctionnel, je n'ai pas la main sur les serveurs (sauf par l'intermédiaire de la console Sharepoint) et notre entreprise est équipée majoritairement de W7-IE8.
    Il faut donc que je fasse une demande aux techniciens qui ont la main sur le serveur (division du travail et prérogatives...).
    Que dois-je demander ?
    Comment et où doivent-ils "telecharger le fichier javacript http://platform.twitter.com/widgets.js sur votre server Sharepoint" ?
    ou y aurait-il une solution ou un contournement dans le code HTML du webpart ?
    Merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Avez-vous valide que la cause du probleme soit bien celle decrite precemment?
    Quid de l'efficacite de la solution visant a customiser le fichier widget.js en local ou dans un site de test?

    Seul le navigateur est requis pour effectuer cette operation:
    - utilisez une bibliotheque de resources existantes (genre Style Library) ou creez une bibliotheque de docs dans le site
    - uploadez-y votre fichier et assurez les permissions en lecture a tous les users, pensez a faire un checkin si necessaire et/ou une publication si la fonction de publishing est activee
    - changez le path du script dans votre composant editeur webpart (CEWP) de "platform.twitter.com" vers le chemin local vers le fichier (ex.: /Style%20Library/Twitter/widget-IE8.js)

    Comme vous n'avez pas que des utilisateurs IE8, il serait interessant dans votre cas de modifier le bout de code qui charge le script afin de preserver le fonctionnement actuel pour les navigateurs recents (le script modifie pour IE8 doit rester l'exception).

    Citation Envoyé par P75016 Voir le message
    Il faut donc que je fasse une demande aux techniciens qui ont la main sur le serveur (division du travail et prérogatives...). Que dois-je demander ?
    Pas necessairement, SharePoint - c'est son boulot - sait gerer du contenu et des fichiers script utilisables dans l'interface d'un site. Votre besoin fonctionnel determinera la solution technique. Si l'on parle simplement d'un referencement de script dans un seul site et sur une seule page, je vous propose de rester sur le pattern de deploiement decrit ci-dessus. Le versionning et le backup sont normalement assures par l'infrastructure existante.

    Citation Envoyé par P75016 Voir le message
    Comment et où doivent-ils "telecharger le fichier javacript http://platform.twitter.com/widgets.js sur votre server Sharepoint" ?
    Les operations "cote serveur" sont destinees a des taches plus globales (un deploiement niveau webapplication ou ferme). La encore, si votre besoin est de rendre ce script disponible sur toutes les collections de sites d'un seul coup, il vaudra mieux leur commander la creation d'une solution SharePoint qui deploiera le fichier js dans le repertoire _layouts (commun a toutes les appli), ca prend 1 minute sous VS2010.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Cher expert nocturne,
    • J'ai modifié le widgets.js avec
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      i=/MSIE [67]/.test(window.navigator.userAgent)
    • j'ai même essayé de le tromper en changeant le "/MSIE 9/" par un "/MSIE 8/"
    • je l'ai déposé dans une bibliothèque d'un site d'essai "http://intranet/Essais/Documents/widgets.js"
    • j'ai modifié le code HTML de l'éditeur de contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a class="twitter-timeline"  href="https://twitter.com/francemusique" data-widget-id="555733711422238720">Les derniers tweets de @francemusique</a>
     
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://intranet/Essais/Documents/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
    mais malheureusement ça ne fonctionne toujours pas sous IE8 :
    sous IE8 :
    Nom : Twitter IE.jpg
Affichages : 373
Taille : 61,0 Ko

    sous Firefox :
    Nom : Twitter FF.jpg
Affichages : 393
Taille : 344,7 Ko

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Je crains que l'on s'eloigne de plus en plus de la solution "simple" que vous recherchiez.

    D'apres ce thread (clic) le meme probleme est survenu au meme moment pour les navigateurs IE 8 (ainsi que 9 et 10 qui font de l'affichage en mode compatibilite).

    Une solution avancee est d'utiliser une balise meta, a inserer dans votre masterpage, mais si cela pourrait eventuellement marcher sur le mode compatibilite de IE9/10 je ne pense pas que cela ait un effet sur IE8 (plus d'infos via microsoft ).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    De plus, selon le devgang twitter, la mise a jour du script widget.js consiste en une epuration des anciennes API javascript et IE8 ne pourrait simplement pas interpreter les instructions ecrites dans le fichier actuel. Jetez un oeil a la console de developpeur sur un navigateur IE8 (touche F12) au moment du chargement du script pour voir si des erreurs apparaissent.

    C'est bancal, mais eventuellement la downgrade marcherait mieux avec un fichier widget.js dont la version est anterieure a la mise a jour.

    L'option la plus saine est de developper - ou d'attendre qu'un projet libre le fasse - un composant js equivalent qui marche sur IE8. Vous pouvez egalement changer votre fusil d'epaule et regarder du cote des extensions jquery, il y en a forcement qui "ressemblent" a la librairie officielle.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Cher expert de la nuit,
    Merci pour vos réponses.
    L'option la plus seine est de developper - ou d'attendre qu'un projet libre le fasse - un composant js equivalent qui marche sur IE8. Vous pouvez egalement changer votre fusil d'epaule et regarder du cote des extensions jquery, il y en a forcement qui "ressemblent" a la librairie officielle.
    Je sais où s'arrètent mes compétences, je sais modifier à la marge un script mais plus développer. Je ne connais pas jquery et crois donc que je vais attendre qu'un projet libre trouve une solution.
    Très cordialement

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    En Janvier 2016 Microsoft arrete de toute facon le support d'IE8.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Cher expert nocturne, j'ai trouvé la solution chez un expert italien sur le site caffeforum

    La solution est similaire à la vôtre et il nous fournit le widget.js à installer dans une librairie sharepoint : à télécharger ici

    Merci de votre aide

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    En effet, le commentaire en en-tete du script indique que c'est la version du 07/01/2013.
    Felicitations pour avoir deniche cette ressource permettant un rollback.

    Question ultime : avez-vous pu l'integrer et la tester sur votre navigateur IE8 sans probleme ?

    Autre chose, le probleme et sa resolution ne concernent qu'IE8 seulement.
    Pour cette raison je vous recommande de differencier le chemin du fichier script en fonction du navigateur (js.src) en utilisant l'userAgent, et de laisser par defaut le fichier situe sur platform.twitter.com

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut IE8 Fiefox Chrome
    @nonoxp : ça marche en l'état sur IE8, encore très utilisé chez nous, ainsi que sur Firefox V35.0.1 et Chrome Version 40.0.2214.94.
    Merci de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Widget twitter sous Sharepoint 2010 avec IE8
    Par P75016 dans le forum Twitter
    Réponses: 0
    Dernier message: 19/01/2015, 17h45
  2. [SP-2010] type search sur un widget twitter
    Par eno97 dans le forum SharePoint
    Réponses: 1
    Dernier message: 12/10/2012, 12h45
  3. RSS qui s'affiche sur IE8.0 mais pas sous FF3.5 !
    Par anxious dans le forum Général Conception Web
    Réponses: 16
    Dernier message: 30/07/2009, 14h05
  4. Menu css ok sur IE8 --> fonction javascript pour IE6
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/04/2009, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo