web-dev-qa-db-fra.com

Inclure jsapi google sur la machine locale, pas sur google.com

Je voudrais savoir s'il est possible de télécharger et d'inclure la bibliothèque jsapi, mais non hébergée par google.com, hébergée sur ma machine locale. Parce qu'il est possible que mon projet ne puisse pas avoir accès au Web.

25
Elmux

Tu ne peux pas.

Vous pouvez télécharger jsapi.js et enregistrez-le sur votre ordinateur local, mais il fera toujours référence à la version en ligne sur google.com. Vous pouvez le voir en ouvrant le code jsapi.js.

Voir cet article destiné aux développeurs Google pour en savoir plus.

Puis-je utiliser des graphiques hors ligne?

Non; votre ordinateur doit avoir un accès en direct à http://www.google.com/jsapi pour utiliser les graphiques. En effet, les bibliothèques de visualisation dont votre page a besoin sont chargées dynamiquement avant de les utiliser. Le code de chargement de la bibliothèque appropriée fait partie du script jsapi inclus et est appelé lorsque vous appelez la méthode google.load (). Nos conditions d'utilisation ne vous permettent pas de télécharger le code google.load ou google.visualization à utiliser hors ligne.

Puis-je télécharger et héberger le code du graphique localement ou sur un intranet?

Désolé; nos conditions d'utilisation ne vous permettent pas de télécharger et d'enregistrer ou d'héberger le code google.load ou google.visualization.

25
hari mow

Bien que vous puissiez le faire et que dowlnoad jsapi tous les autres codes soient toujours sur les serveurs google, les bibliothèques de visualisation, et ainsi de suite, ce n'est pas en termes de service, ce qui l'interdit.

Puis-je utiliser des graphiques hors ligne? Non; votre ordinateur doit avoir un accès en direct à http://www.google.com/jsapi pour utiliser les graphiques. En effet, les bibliothèques de visualisation dont votre page a besoin sont chargées dynamiquement avant de les utiliser. Le code de chargement de la bibliothèque appropriée fait partie du script jsapi inclus et est appelé lorsque vous appelez la méthode google.load (). Nos conditions d'utilisation ne vous permettent pas de télécharger le code google.load ou google.visualization à utiliser hors ligne. Puis-je télécharger et héberger le code du graphique localement ou sur un intranet? Désolé; nos conditions d'utilisation ne vous permettent pas de télécharger et d'enregistrer ou d'héberger le code google.load ou google.visualization.

12
Harpo Marx

jsapi.js le fichier seul ne fera aucun bien car il demande un chargement par camion d'autres scripts et fichiers css lorsque vous chargez des trucs en l'utilisant.

Donc, si vous voulez vraiment mettre votre application hors ligne avec Google Charts, incluez d'abord le jsapi.js dans votre application et surveillez les autres fichiers qu'elle demande sur le fil (en utilisant quelque chose comme Fiddler ). Ensuite, téléchargez-les également et incluez-les dans votre application. N'oubliez pas qu'il pourrait s'agir d'un trou de lapin profond IYKWIM.

Gardez également à l'esprit que tout ce qui précède annule les Conditions générales de Google pour l'utilisation de leurs graphiques.

2
Ε Г И І И О

Absolument, mais seulement comme preuve de concept. Il suffit d'ouvrir et d'enregistrer le fichier suivant sous jsapi.js sur votre ordinateur local:

http://www.google.com/jsapi

Ensuite, ajoutez-y une référence depuis votre page HTML:

    <script type="text/javascript" src="jsapi.js"></script>

Voir un exemple sur:

http://www.marlenynunez.com/files/jsapi/horizontal-news-ticker4.html De la réponse à la question [question]: jquery horizontal news ticker using google jsapi

Mais, comme d'autres l'ont souligné, vous pourriez toujours avoir besoin d'un accès Web et les conditions de service de l'API ne permettent pas son utilisation de cette façon.

1
marlenunez

Salut ont utilisé le concept ci-dessous pour ajouter le fichier localement dans l'application angularjs et son bon fonctionnement à des fins de développement ..

/* global angular */
(function(){
    angular.module('googlechart')
        .provider('googleJsapiUrl', googleJsapiUrlProvider);

    function googleJsapiUrlProvider() {
        var protocol = 'http:';
        var url = '//localhost/yourApplicationName/Scripts/chart/jsapi.js';

        this.setProtocol = function (newProtocol) {
            protocol = newProtocol;
        };

        this.setUrl = function (newUrl) {
            url = newUrl;
        };

        this.$get = function () {
            return (protocol ? protocol : '') + url;
        };
    }
})();
0
SantoshK