使用JavaScript转到页面并自动在该页面上执行功能

时间:2014-08-28 14:39:07

标签: javascript function default pageload

希望这对所有专家来说都是明智的,但我无法找到答案。我想点击页面A上的一个元素,它将带我到页面B并自动执行页面B上定义的功能(这里称为showGrp)。在页面A上,我想点击某些内容像这样(显然,它不起作用,但我认为它传达了这个想法):

<span onclick="location.assign('http://happy.com/pageB.htm').('showGrp(); return false;')">
    <h2>Search Topics</h2>
</span>`

4 个答案:

答案 0 :(得分:2)

简短回答:没有办法做到这一点。您不能告诉新页面通过旧页面运行功能

长答案:但是,您可以设置页面B,以便知道如果请求网址在其GET数据中包含某个参数,则会运行showGrp。即:

  1. 前往http://happy.com/pageB.htm将无能为力
  2. 转到http://happy.com/pageB.htm?showGrp=1将运行功能
  3. 你可以这样使用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被调用。你需要做的就是把它放在头脑中