希望这对所有专家来说都是明智的,但我无法找到答案。我想点击页面A上的一个元素,它将带我到页面B并自动执行页面B上定义的功能(这里称为showGrp
)。在页面A上,我想点击某些内容像这样(显然,它不起作用,但我认为它传达了这个想法):
<span onclick="location.assign('http://happy.com/pageB.htm').('showGrp(); return false;')">
<h2>Search Topics</h2>
</span>`
答案 0 :(得分:2)
简短回答:没有办法做到这一点。您不能告诉新页面通过旧页面运行功能
长答案:但是,您可以设置页面B,以便知道如果请求网址在其GET数据中包含某个参数,则会运行showGrp。即:
http://happy.com/pageB.htm
将无能为力http://happy.com/pageB.htm?showGrp=1
将运行功能你可以这样使用this function:
// put this wherever you want to run this - most probably when the page is loaded
if (getParameterByName('showGrp')) {
showGrp();
}
答案 1 :(得分:1)
你可以这样做:
网页A:
<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。
答案 2 :(得分:0)
我只想把你要在窗口onload函数中运行的代码放在第B页上。我认为这样做会有你想要的。
window.onload = function() {
showGrp();
};
请参阅Mozilla Developers Network上的onload说明。
答案 3 :(得分:0)
页面A应如下所示:
<div id = "yourclickobject" onclick="pageB.html"> Some random text </div>
Page B:
<head>
<script>
var myFunction = function(){
alert("hello world");
}
myFunction();
</script>
</head>
这有帮助吗? 一旦你进入页面B myFunction被调用。你需要做的就是把它放在头脑中