Javascript函数触发onload

时间:2014-04-18 18:33:32

标签: javascript jquery

我正在编写一个JavaScript函数,当用户从一个页面点击链接时,它会转到此页面。当页面加载时,它应该打开一个弹出框。问题是如果用户来自某个链接,我不知道如何在函数中告诉它打开onload。否则页面应该正常,没有弹出上传。

 window.onload = function() {
 var opened = window.open('', 'height = 500, width = 500');
 opened.document.write('Open');
 }

4 个答案:

答案 0 :(得分:1)

您可以添加哈希片段,然后在URL中检查该哈希片段。如果是,那就调用该功能。 :)

HTML

<a href="your_page.html#dothething">Click me</a>

JS

window.onload = function() {
  if (window.location.hash === "#dothething") {
    //Call your functions
  }
}

答案 1 :(得分:1)

当您重定向用户时,您应该在第2页的QueryString中添加onload参数,然后可以在此QueryString上进行测试。

var url = "http://google.com?parameter1=value1&parameter2=value2";
window.open(url, 'height = 500, width = 500');

答案 2 :(得分:1)

在Hatsjoem首先回答的基础上,你会将变量放在来自链接的请求中。像这样:http://www.Blah.com/NeatoPage.aspx?YourVariable=X

然后在弹出页面后面的Page_Load代码中检查querystring变量的值。

Request.QueryString [“YourVariable”]。toString()或Request.QueryString [“YourVariable”]!= null

将结果放入隐藏字段或其他内容。

然后让你的javascript检查隐藏的字段以供决策。

的document.getElementById( “hdnVariable”)。值

有意义吗?

答案 3 :(得分:1)

您可以使用document.referrer http://www.w3schools.com/jsref/prop_doc_referrer.asp

window.onload = function() {
    if(document.referrer.indexOf("keySubstringOfReferrerUrl")!== -1){
         /*Do something*/
    }else{
         /*Do the other thing*/  
    }
}

这适用于普通链接(带有href的锚标签)。如果您使用javascript进行了链接,则可能需要使用此函数才能使用旧版本的IE:

function navigateWithReferrer(url) {
    var fakeLink = document.createElement("a");
    if (document.createEvent) {
        location.href = url
    } else {
        fakeLink.href = url;
        document.body.appendChild(fakeLink);
        fakeLink.click()
    }
}