使用JavaScript转到某个页面并在该页面上自动执行某个函数
Use JavaScript to go to a page and automatically do a function on that page
希望这对所有专家来说都是一件轻而易举的事,但我找不到答案。我想点击页面A上的一个元素,它会把我带到页面B,并自动执行页面B上定义的功能(这里称为showGrp
)。在页面A上,我想点击这样的东西(显然,它不起作用,但我认为它传达了这个想法):
<span onclick="location.assign('http://happy.com/pageB.htm').('showGrp(); return false;')">
<h2>Search Topics</h2>
</span>`
简短回答:没有办法做到这一点。你不能告诉新页面通过旧页面运行功能
长答案:但是,您可以设置页面B,以便它知道如果请求URL的GET数据中包含某个参数,它将运行showGrp。即:
- 去
http://happy.com/pageB.htm
不会有任何作用 - 转到
http://happy.com/pageB.htm?showGrp=1
将运行函数
你可以这样使用这个功能:
// put this wherever you want to run this - most probably when the page is loaded
if (getParameterByName('showGrp')) {
showGrp();
}
您可以这样做:
PageA:
<html>
<body>
<a href="pageB.html?f=showGrp">
<h2>Search Topics</h2>
</a>
</body>
</html>
页码B:
<html>
<head>
<script type="text/javascript">
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (decodeURIComponent(pair[0]) == variable) {
return decodeURIComponent(pair[1]);
}
}
}
var init = {
showGrp: function () {
console.log("Hello world!");
},
otherFunc: function() {
console.log("Lalala!");
}
};
init[getQueryVariable("f")]();
</script>
</head>
</html>
通过这样做,您可以执行任何您想要的函数,只需将其名称作为参数传递给pageB的URL。
我只想把你想在窗口onload函数中运行的代码放在B页上。我想这会满足你的要求。
window.onload = function() {
showGrp();
};
请参阅Mozilla开发者网络上的onload描述。
页面A应该看起来像:
<div id = "yourclickobject" onclick="pageB.html"> Some random text </div>
页码B:
<head>
<script>
var myFunction = function(){
alert("hello world");
}
myFunction();
</script>
</head>
这有帮助吗?一旦您转到B页,就会调用myFunction。你所需要做的就是把它放在的头上
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- javascript自执行函数-不同的语法
- JavaScript:只有当数组中的所有项都为true时才执行函数
- iFrame url更改时执行函数
- 为什么AngularJS在每个摘要循环上都执行函数
- 如何使用setInterval执行函数
- 当*ngFor以角度2结束时执行函数
- Ajax调用完成后如何执行函数
- 在显示引导弹出窗口之前执行函数
- 从自执行函数返回函数的Javascript性能命中率
- 在操作完成时执行函数
- jquery/js中的自执行函数
- 如何仅在完成对gap.client.youtube的请求.execute后执行函数
- 构造函数函数中的自执行函数的OO上下文/范围
- Javascript未使用=运算符执行函数
- AngularJS:如何按照预定义的顺序执行函数
- 在不使用隔离作用域的情况下执行函数的角度指令
- 如何在页面加载后执行函数是在 AngularJS 中完成的
- 完成页面加载后执行函数
- 如何在完成完全执行函数后触发循环