首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Jquery加载的网页中获取变量

从Jquery加载的网页中获取变量
EN

Stack Overflow用户
提问于 2016-08-19 06:52:14
回答 3查看 29关注 0票数 0

我使用jquery.load将一个div加载回同一页面,然后刷新该div以反映任何更改。这很好用,直到我需要我加载的页面中的一个变量在javascript中使用。例如,如果localStorage.username2发生变化,浏览器应该重新加载。但事实并非如此。

代码语言:javascript
复制
<script type="text/javascript">
var partyid = '<?php echo $_GET["Party_ID"]; ?>';
jQuery(document).ready( function($){

if (localStorage.user2==localStorage.username2){

$('#Submission-2').load('http://example.com/?Party_ID=' + partyid + ' #Submission');
refresh();
}

});

</script>

<script type="text/javascript">
function refresh() 
{ 
 setTimeout( function() { 
if (localStorage.user2==localStorage.username2)
{
 $('#Submission-2').fadeOut('slow').load('http://example.com/?Party_ID=' + partyid + ' #Submission').fadeIn('slow'); 
document.getElementById("Submit-answer").innerHTML = localStorage.username2;
refresh();
}
else{
window.location.reload();
}

document.getElementById("Submit-answer").innerHTML = localStorage.username2;
 }, 5000); 
} 
</script>

此代码一直有效,直到用户名发生更改且代码未检测到为止。因此,永远不会执行window.location.reload();函数。

我在提交的div中也有这段代码。

代码语言:javascript
复制
 <div id="submission">
代码语言:javascript
复制
localStorage.setItem("user2", "<?php echo $user; ?>");
localStorage.setItem("username2", "<?php echo $party_information[0]->Username; ?>");

</script>
</div>

因此,我的问题是如何从使用.load加载的页面中获取变量?我是个新手,几天前才开始这么做。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2016-08-19 07:00:09

当本地存储发生变化时,应该会触发$(‘#提交-2)刷新(...);.load();函数,如下所示。

代码语言:javascript
复制
$(window).bind('storage', function (e) {
     $('#Submission-2').load('http://example.com/?Party_ID=' + partyid + ' #Submission');
    refresh();
});
票数 0
EN

Stack Overflow用户

发布于 2016-08-19 07:05:57

您可以设置一个定期触发的间隔,以检查变量是否已更改

代码语言:javascript
复制
window.setInterval(function(){
    if (localStorage.user2 != localStorage.username2){
       window.location.reload();
    }
}, 5000);

它每隔5秒运行一次,以检查变量是否已更改。请注意,这可能非常繁重。

票数 0
EN

Stack Overflow用户

发布于 2016-08-23 16:15:51

这就是我最终为js所做的事情。成功了!

代码语言:javascript
复制
<script type="text/javascript">
function refresh() 
{ 
var quitfunction = 0;
 setTimeout( function() { 
$('#Submission-2').fadeOut('slow').load('http://example.com/play-with-friends/?Party_ID=' + partyid + ' #Submission' , function() {
var username = '<?php echo $party_information[0]->Username; ?>';
if (document.getElementById('total').value!=username)
{
window.location.reload();
}
        });
$('#Submission-2').fadeIn('slow').load('http://example.com/play-with-friends/?Party_ID=' + partyid + ' #Submission' );
{
refresh();
}
 }, 5000); 
}
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39028667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档