非常感谢这个JS问题的任何帮助。
现在已经进行了一个小时左右的试验,并没有遇到任何可以解决问题的事情。
当前设置
<小时/> 目前,当用户在网站1上加载页面时,此设置可用于检查用户是否登录到网站2系统。
然而,我不想一次性检查,而是希望每2秒轮询一次网站2上的PHP文件,看看登录状态是否已经改变。
有没有办法在vanilla javascript中执行此操作? (即没有ajax或jq - 我试图保持整个系统的小而且已知)。
如果相关,朋友建议在PHP文件名的末尾放置一个随机生成的变量以防止缓存。 (他不知道怎么可以反复调查!)
答案 0 :(得分:4)
我想您可以创建一个间隔函数来更改页面中脚本元素的src
属性吗?
setInterval(
function(){
myscript.src = '/urltophp?'+someRandomKey;
}, 2000);
someRandomKey
阻止脚本在浏览器中缓存。 script
代码可以包含id
,因此可以使用document.getElementById
要创建随机密钥,这可能会有所帮助:
function randomKey(iLen) {
var sKey = ''
, isKey = ''
, i = 0
, aRanges = ['48,9', '65,25', '97,25'];
iLen = !iLen ? 4 : iLen;
while (i < iLen) {
var aRange = String(aRanges[Math.round(Math.random() * 2)]).split(',');
isKey += String(aRanges[Math.round(Math.random() * 2)]) + ',';
sKey += String.fromCharCode(Math.round(parseInt(aRange[0], 10) +
(Math.random() * parseInt(aRange[1], 10))));
i++;
}
return sKey;
}
答案 1 :(得分:0)
setInterval(function(){
$('#divtoloadcontentin').load('urlofscript' + '&nocache=' + Math.random()*Math.random());
}, 5000);
divloadcontentin是他们的唯一原因是因为你可以加载php date()函数来向用户显示页面的最新状态。