import weather from 'https://cdn.skypack.dev/openweather-apis'; import vueWeatherWidget from 'https://cdn.skypack.dev/vue-weather-widget'; weather.setLang('en'); //weather.setCityId(4367872); weather.setCity('Zürich, CH'); weather.setUnits('metric'); weather.setAPPID('e242774170c5404aac3dcfe4d3686fd0'); // get the Temperature weather.getTemperature(function(err, temp){ console.log(temp); }); // get the Atm Pressure weather.getPressure(function(err, pres){ console.log(pres); }); // get the Humidity weather.getHumidity(function(err, hum){ console.log(hum); }); // get the Description of the weather condition weather.getDescription(function(err, desc){ console.log(desc); }); // get all the JSON file returned from server (rich of info) weather.getAllWeather(function(err, JSONObj){ console.log(JSONObj); }); // Adds support for the onecall api endpoint. weather.getWeatherOneCall = function(err, data){ }; // get 3 days forecast weather.getWeatherForecastForDays(3, function(err, obj){ console.log(obj); }); // get a simple JSON Object with temperature, humidity, pressure and description weather.getSmartJSON(function(err, smart){ console.log(smart); }); Vue(() => { <template> <vue-weather api-key="e242774170c5404aac3dcfe4d3686fd0" units="fr" /> <vue-weather api-key="e242774170c5404aac3dcfe4d3686fd0" use-dark-sky-api units="fr" /> </template> default { components: { vueWeatherWidget, }, }; }); return ( <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous" ></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.0/vue.js" ></script> <!-- vue-weather-widget --> <script type="text/javascript" src="vue-weather-widget.js"></script> <link href="vue-weather-widget.css" rel="stylesheet" /> <!-- Vue app --> <div id="app"> <weather api-key="e242774170c5404aac3dcfe4d3686fd0" latitude="47.3667" longitude="8.55" language="en" units="fr" > </weather> </div> new Vue({ el: "#app", components: { weather: VueWeatherWidget, }, }); ); ```jsx: const C = props=>{ const ref = useRef(); useEffect(()=>{ (async ()=>{ let iframe = ref.current; //replace outdated api keys const response =await fetch("https://unpkg.com/vue-weather-widget@3.0.2/dist/js/vue-weather-widget.js"); let js = await response.text(); js = js.replaceAll("c3bb8aa0a56b21122dea6a2a8ada70c8", "7f9c71310f410847fceb9537a83f3882"); const dataUri = 'data:text/javascript;charset=utf-8,' + encodeURIComponent(js); var html = ` <!-- Requirements --> <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous" ></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.0/vue.js" ></script> <!-- vue-weather-widget --> <script type="text/javascript" src="${dataUri}"></script> <link href="https://unpkg.com/vue-weather-widget@3.0.2/dist/css/vue-weather-widget.css" rel="stylesheet" /> <!-- Vue app --> <div id="app"> <weather api-key="e20753dfcaae902ab091fbb4925d432a" latitude="47.3667" longitude="8.55" language="en" units="ca" > </weather> </div> <script> new Vue({ el: "#app", components: { weather: VueWeatherWidget, }, }); </script> `; iframe.contentWindow.document.open(); iframe.contentWindow.document.write(html); iframe.contentWindow.document.close(); })() }) return <iframe ref={ref} width="100%" height="300" frameBorder="0"/> } <C /> ```