我需要两个html页面由同一个按钮控制,所以如果你点击第一个html上的button1,我需要在第二个html页面上显示一个msg,点击了button1,它是同一个东西对于button2
答案 0 :(得分:1)
答案是肯定的...... 有点 ...假设两个页面都在同一个域中,你可以基本上做同样的“长轮询”,就像Jordan Davis的回答一样,但是你可以使用本地存储。
例如,请考虑以下代码(未经测试,但仅提供一般概念):
<script type="application/javascript">
function CheckForMessages(){
var msg = window.localStorage.getItem("Message_From_Page_1");
if(msg !== null){
document.getElementById("SomeIdWhereYouWantMessage").innerHTML = msg;
// Acknowledge and clear item from local storage, to avoid
// double processing:
window.localStorage.removeItem("Message_From_Page_1");
}
window.setTimeout(function(){CheckForMessages()}, 100); // check again in 100 ms
}
document.onload = CheckForMessages();
</script>
同样,第1页将有类似的代码来接收第2页所持有的数据。
一般来说,在我看来,这不应该是一种理想的方法,但是,有可能做到这一点。
答案 1 :(得分:0)
答案是否定的,它们是两个单独的HTML页面,它们同步加载(意味着加载时间),根据其中一个页面上的某些触发器进行更新,您必须使用套接字来实现&#34;真正的# 34; LIVE更新页面,或使用称为&#34;长轮询&#34;它使用守护进程(后台进程)来检查更新并将更改推送到客户端。
答案 2 :(得分:0)
为什么回答不? 是的,你可以,取决于浏览器。他们是铬和FF(不是ie)之类的共享工作者功能。这是一个处理空间的区域,它比标签/页面更高级别 - 但在浏览器中。 因此,如果您打开第1页,它会创建SW,然后第2页加载它可以访问此SW。两个页面都注册了所述SW,以便您现在可以编写代码,以便第1页需要向第2页发送消息,反之亦然。 如果两个页面都在同一时间加载并尝试创建相同的SW,则浏览器会对其进行排序,因此不必担心竞争条件等。
https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker