我正在编写一个JavaScript函数,当用户从一个页面点击链接时,它会转到此页面。当页面加载时,它应该打开一个弹出框。问题是如果用户来自某个链接,我不知道如何在函数中告诉它打开onload。否则页面应该正常,没有弹出上传。
window.onload = function() {
var opened = window.open('', 'height = 500, width = 500');
opened.document.write('Open');
}
答案 0 :(得分:1)
您可以添加哈希片段,然后在URL中检查该哈希片段。如果是,那就调用该功能。 :)
<a href="your_page.html#dothething">Click me</a>
window.onload = function() {
if (window.location.hash === "#dothething") {
//Call your functions
}
}
答案 1 :(得分:1)
当您重定向用户时,您应该在第2页的QueryString
中添加onload
参数,然后可以在此QueryString
上进行测试。
var url = "http://google.com?parameter1=value1¶meter2=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()
}
}