我想从外部JavaScript文件中单击我的HTML文件

我想从外部JavaScript文件中单击我的HTML文件,javascript,php,html,Javascript,Php,Html,我有我的HTML网页和一个移动应用程序 在我的移动应用程序中,我有三个按钮,开始、暂停和停止,我的网站上有这三个相同的按钮(在我的网站上,这三个按钮已经有了动作) 我想做的是,如果我点击手机上的按钮,它就会点击我网页上指定的同一个按钮 Mi最初的计划是,从我的移动应用程序,我通过post发送到我网站文件中的一个php文件。然后从php文件向JavaScript文件发送一个简单变量,JavaScript文件将读取它是什么变量,并根据该变量在我的网页中单击相应的按钮 我在网站上使用的脚本在我的HTM

我有我的HTML网页和一个移动应用程序

在我的移动应用程序中,我有三个按钮,开始、暂停和停止,我的网站上有这三个相同的按钮(在我的网站上,这三个按钮已经有了动作)

我想做的是,如果我点击手机上的按钮,它就会点击我网页上指定的同一个按钮

Mi最初的计划是,从我的移动应用程序,我通过post发送到我网站文件中的一个php文件。然后从php文件向JavaScript文件发送一个简单变量,JavaScript文件将读取它是什么变量,并根据该变量在我的网页中单击相应的按钮

我在网站上使用的脚本在我的HTML代码中

网站:

<!DOCTYPE html> 
<html>
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="css/style.css">
        <script type="text/javascript" src="js/test"></script>
        <title> Spelling Bee </title>
    </head>
    <body>
        <header>
            <h1> Spelling Bee </h1>
        </header>

        <section>
            <div id="textbox">
                <h2> "Word" </h2>
            </div>

            <div>
                <p> Choose the difficulty: </p>
                <select id="difficulty">
                    <option value="0"></option>
                    <option value = "1"> Easy </option>
                    <option value = "2"> Medium </option>
                    <option value = "3"> Hard </option>   
                </select>

                <div id="timer"></div>

                <button id="start"> Start! </button>
                <button id="next"> Next </button>
                <button id="stop"> Stop </button>

                <script>

                    //1000 = 1 sec
                    var start= document.getElementById("start");
                    var difficulty = document.getElementById("difficulty")
                    var next = document.getElementById("next");
                    var stop = document.getElementById("stop");
                    var timer;

                    document.getElementById("timer").innerHTML = "-";
                    document.getElementById("start").disabled = true;
                    document.getElementById("next").disabled = true;
                    document.getElementById("stop").disabled = true;

                    start.addEventListener("click", functionStart);
                    var seconds, stop, counterStarted = false, counter;
                    var select_difficulty= document.getElementById('difficulty');

                    select_difficulty.onchange = function select_stop_time() {
                        var selectedValue = select_difficulty.options[select_difficulty.selectedIndex].value;

                        if (selectedValue == 1 ) {
                        document.getElementById("start").disabled = false;
                        stop = 10;//10
                        }
                        else if (selectedValue == 2 ) {
                        document.getElementById("start").disabled = false;
                        stop = 15;//15
                        }
                        else if (selectedValue == 3 ){
                        document.getElementById("start").disabled = false;
                        stop = 20;//20
                        }
                        else {
                        document.getElementById("start").disabled = true;
                        document.getElementById("next").disabled = true;
                        document.getElementById("stop").disabled = true;
                        stop = 0;//0
                        }
                    }

                    function functionStart() {
                        seconds = 1;
                        document.getElementById('difficulty').disabled = true;
                        document.getElementById("start").disabled = true;
                        document.getElementById("next").disabled = false;
                        document.getElementById("stop").disabled = false;

                        if(counterStarted === false){
                            counterStarted = true;
                            counter = setInterval(function(){
                                if(seconds <= stop){
                                    document.getElementById("timer").innerHTML = seconds;
                                    seconds++;
                                }
                                else{
                                    seconds = 1;
                                }
                            },1000)
                        }
                    }

                    stop.addEventListener("click", functionStop);
                    function functionStop(){
                        document.getElementById("timer").setAttribute("disabled", "disabled");
                        clearInterval(counter);
                        counterStarted = false;
                        document.getElementById('difficulty').disabled = false;
                        document.getElementById("timer").innerHTML = "-";
                        document.getElementById("start").disabled = false;
                        document.getElementById("next").disabled = true;
                        document.getElementById("stop").disabled = true;
                        frame();
                    }

                    next.addEventListener("click", functionNext);
                    function functionNext(){
                        seconds = stop;
                    }
                </script>
            </div>
        </section>
        <footer>
        </footer>
    </body>
</html>

我用警报来测试它。

假设您希望网站上的操作与移动应用程序上的操作相同,您只需发送上述POST请求,然后在内部触发Javascript事件,而不必模拟实际的鼠标点击网站

如果您想在网站上的元素上触发一些视觉效果,还可以使用Javascript向元素添加样式/类

要回答以编程方式单击HTML元素的原始问题,只需执行以下操作:

document.getElementById('elementID').click();
几乎所有浏览器都支持它。(摘自)


您需要通过PHP发送的唯一变量是“elementID”,在您的JS文件中,您可以使用它作为您试图单击的元素的ID。

很好的描述,但我们确实需要代码来提供帮助。请提供您的脚本(也告诉我们脚本名称-例如“myscript1.js”)并提供您的HTMLI。我已经添加了我的代码,如果太长,请原谅,这是我第一次在这里发布。谢谢你通知我的问题。你的javascript文件是测试吗?我的应用程序的javascript,是的,它只是一个测试,我的网站脚本在我的HTML代码中。对于我的应用程序,Java脚本文件名为“acciones.js”。谢谢你,你介意进一步帮助我如何做你提到的第一件事吗,如果不模拟鼠标点击,您需要有一个后台服务器运行PHP,然后从您的移动应用程序中,使用您喜欢的任何方法将请求发送到您的服务器,然后使用PHP在HTML中包含一个脚本标记,其中包含激活JS函数的代码。从这里,您可以阅读更多关于使用PHP触发JS的信息。如何创建PHP服务器?有很多关于使用PHP创建后端的信息可以学习,在PHP 5.4和更高版本中,使用内置的本地服务器可以轻松地在本地机上启动PHP服务器:
PHP-S localhost:8000
,或者您可以安装并运行XAMPP()我安装了WAMP服务器,类似吗?
// JavaScript Document
$(document).ready(function(e) {
    $('#button1').on('click',function(){
        alert("1");
    });//1
    $('#button2').on('click',function(){
        alert("2");
    });//2
    $('#button3').on('click',function(){
        alert("3");
    });//3
}); //ready

document.getElementById('elementID').click();