如果我的项目包含2个HTML页面,让我们称它们为Page1和Page2,在Page1中我有一个指向Page2的链接,在Page2中我有一个需要访问Page1的JQuery文件并检查是否按下了Page2的链接(到做某些事情)我该如何实现呢?
这是我尝试过的:这是第2页上的JQuery文件
$(document).ready(function () {
$(this).load("Page1.html"); // loads Page1 from current page - Page2
$("#Link").click(function () { //if link on Page1 is pressed, do stuff
//TODO
但这显然不起作用。任何解决方案?
答案 0 :(得分:1)
如@dvenkatsagar所述,使用控制变量作为全局。
.load()
方法有一个回调函数,您可以将其作为参数传递。你必须在回调中做你的东西。另外,要将“page1”的内容附加到“page2”,您必须使用元素,而不是文档本身。查看文档:{{3}}。
$(document).ready(function () {
// declare a control variable
var clicked = false;
// loads Page1 from current page - Page2
$("#myDiv").load("Page1.html", function(){
//if link on Page1 is pressed, do stuff
$("#Link").click(function () {
// set control variable to true
clicked = true;
});
});
});
答案 1 :(得分:1)
正如kosmos所说,只需在用户点击第二个链接时设置一个cookie
document.cookie="click=clicked";
并在第二个HTML中读取
var status = document.cookie;
答案 2 :(得分:1)
单击page2link后,设置一个全局变量,第2页加载并在从page2link加载时给出console.log输出。
第1页:
<a href="page2.html" id="page2link">click me</a>
<script>
window.click_page1 = false;
// Jquery version : $("#page2link").on("click",function(){window.click_page1 = true;});
document.getElementById("page2link").addEventlistener("click",function(){
window.click_page1 = true;
});
</script>
第2页:
<script>
if(window.click_page1){
console.log("Clicked page 1")
}
</script>