我正在研究bookmarklet,我的问题是js没有得到更新
我用我的书签加载js文件,我的问题是没有用我的最新版本更新。即使我在我的数据库中更新了它也是如此。
所以我希望它在点击书签时检查并加载最新版本。所以我想知道是否有东西要添加到js文件中,所以它得到加载最新版本。或者,如果有办法检查日期和时间或检查版本。等等
我对代码没有问题,因为它们工作正常。
假设这是我的js
function start() {
// codes
};
// ---------------------------------------
// Ajax
// ---------------------------------------
function AJAXInteraction(url, callback) {
var req = init();
req.onreadystatechange = processRequest;
function init() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function processRequest() {
if (req.readyState == 4) {
if (req.status == 200) {
if (callback) callback(req.responseText);
}
}
}
this.doGet = function () {
req.open("GET", url, true);
req.send(null);
}
this.doPost = function (str) {
req.open("POST", url, true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
req.send(str);
}
};
答案 0 :(得分:2)
如果要将JS文件附加到页面,并且要强制浏览器始终获取文件的新副本而不使用缓存,则可以将任何随机文本作为查询字符串的一部分附加。这是示例代码。
document.body.appendChild(document.createElement('script')).src = 'http://server.com/script.js?ts=' + new Date().getTime();
或者,从中加载文件的服务器可以指定某些到期信息。为确保您始终获得最新信息,您可以指定过去某个时间的到期日期。