刷新JS脚本而不重新加载页面
refresh JS Script without reloading the page
我在我的网站上使用一个免费的天气预报小工具。
<script type="text/javascript" src="http://tools.tititudorancea.com/weather_forecast.js?place=zurich_2&s=1&days=5&utf8=no&columns=5&temp=c"></script>
<div style="font: 10px Arial, sans-serif; color: #000000" align="right">
<a href="http://www.tititudorancea.com/z/weather.htm">Weather forecast</a> provided by <a href="http://www.tititudorancea.com/">tititudorancea.com</a></div>
我的网页将永远不会重新加载自己,然后天气将永远不会更新。有没有一种方法来刷新javascript不刷新所有页面?
Thanks in advance
你可以在url的末尾添加一个虚假的查询变量来强制刷新。首先给你的脚本标签添加一个id,然后试试这个:
var weather = document.getElementById('weather');
weather.src += '&bogus='+ new Date(); // init
setInterval(function() {
weather.src = weather.src.replace(/&.+$/, '&bogus='+ new Date());
}, 1000);
这是我找到的解决方案。
var weatherURLSite = "http://tools.tititudorancea.com/weather_forecast.js?place=$placeID$&s=1&days=5&utf8=no&columns=5&temp=c";
var specificWeather = weatherURLSite.replace("$placeID$", value);
$.ajax({
type: "POST",
async: false,
url: weatherURL,
data: { url: specificWeather }
}).done(
function (content) {
var li = "<li id='" + value + "'>" + content + creditsDiv + "</li>";
$("#weather").append(li);
});
我添加了一个计时器来周期性刷新
var weatherTimer = self.setInterval(function () { GetReloadWeather('@Url.Action("GetWeather","Weather")'); }, 3600000);
在我的项目中,我最终使用jQuery 'replaceWith'函数
jQuery("script").eq(2).replaceWith('<script type="text/javascript" src="/state.js"></script>');
相关文章:
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 更改css链接并等待加载新的css
- 如何在Ajax加载新内容时停止JavaScript执行
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 如何使用输入数据加载新的extjs图表
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- 通过javascript在同一个打开的选项卡中重新加载新的网页内容
- 当用户到达页面右侧时加载新内容
- 数据表 AJAX 筛选器重新加载数据
- 超链接单击以加载新页面并执行JavaScript
- 单击时加载新的 SVG
- 在RadWindow中加载新页面,然后从加载的窗体中关闭窗口
- ajax在页面刷新之前不会加载新的sql结果
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 使用Ajax加载页面,并在必要时加载新脚本
- 加载新页面时的过渡效果,AJAX
- Ajax没有正确加载新页面
- 正在加载新的Javascript,但正在调用旧的Javascript.MVC
- 咕噜咕噜的手表:实时加载重新加载落后 1 步....
- 我怎么能有一个花哨的盒子一样的弹出体加载,但与cookie不连续加载重新加载