如何使水平菜单的按钮功能?

时间:2014-11-26 17:49:56

标签: javascript php html

在下面给出的代码中,我想让按钮起作用。就像我点击它们一样,他们应该做一个特定的任务!例如:当他们点击“home”时,脚本应该转到另一个html文件,当他们点击时,他们应该转到另一个html文件,关键的是他们点击系统 - > Shutdown / Reboot / KillSwitch它应该在运行的linux系统中执行特定的命令。由于我在这里发布代码有点困难,请转到此链接查看代码,

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style type="text/css">
    ul{
        padding: 0;
        list-style: none;
    }
    ul li{
        float: left;
        width: 100px;
        text-align: center;
        line-height: 21px;
    }
    ul li a{
        display: block;
        padding: 5px 10px;
        color: #333;
        background: #f2f2f2;
        text-decoration: none;
    }
    ul li a:hover{
        color: #fff;
        background: #939393;
    }
    ul li ul{
        display: none;
    }
    ul li:hover ul{
        display: block; /* display the dropdown */
    }
</style>

</head>
<body>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li>
            <a href="#">System &#9662;</a>
            <ul>
                <li><a href="#">Shutdown</a></li>
                <li><a href="#">Reboot</a></li>
                <li><a href="#">Killswitch</a></li>
            </ul>

4 个答案:

答案 0 :(得分:0)

在浏览器中运行的Javascript是沙盒的原因很好,想象一下每个网站都可以通过javascript关闭你的计算机。 当您点击标有&#39;离开该页面&#39;。

的按钮时,请格式化您的计算机

但是,您只能在浏览器中使用沙盒,因此您可以使用

移动到另一个html页面
window.location.href = 'http://newpage/...';

答案 1 :(得分:0)

您必须编写一些代码来包装典型的Web浏览器,该浏览器专门针对您的网站进行解释,并在适当的情况下重新启动系统。正如@overflowed所提到的那样,普通人使用的通用浏览器都不允许这样做。

答案 2 :(得分:0)

如果您想要shutdown.reboot,请终止托管您站点的服务器,您可以使用php,但请记住,服务器上的Web脚本是由httpd / apache用户运行的,也可能是您分配的特殊用户。因此,为了实现您想要的功能,您可以在服务器上执行root crontab,这需要一分钟才能重新启动服务器。

计划是这样的:用php在服务器的web目录中创建一个文件然后crontab运行一个脚本来检查文件是否存在...如果存在则删除它并重启服务器...否则如果它不存在什么都不做......当然这条道路是不可取的,如果你这样做,请确保你记录好的一切 我举个例子 root crontab内容:

* * * * * /usr/local/sbin/check.sh

check.sh的内容:

* * * * * /usr/local/sbin/check.sh

并且php文件可以说restart.php将链接到您的锚元素

 #!/bin/bash
if [ -f /var/www/html/restart.myserver ]; then
  rm -f /var/www/html/restart.myserver
  /sbin/shutdown -r now 
fi

答案 3 :(得分:0)

您可以使用 CGI 脚本执行此操作。

  • 首先确保您已正确设置网络服务器以运行CGI脚本。
  • 然后执行visudo并授予运行Web服务器的用户权限,以便在不询问密码的情况下运行sudo shutdown命令。您可以在此处找到更多信息:https://askubuntu.com/questions/159007/how-do-i-run-specific-sudo-commands-without-a-password。在我的系统中,我添加了以下行以授予www-data用户的权限,该用户是Apache运行的用户:

    www-data ALL = NOPASSWD:/ sbin / shutdown

以下是您需要放入cgi-bin文件夹的两个CGI脚本,可以通过简单的HTML链接从网页按钮调用。

<强> restart.cgi

#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>Restarting"
echo "</title></head><body>"
echo "<h1>Restarting...</h1>"
echo ""
echo "</body></html>"
sudo /sbin/shutdown -r now

<强> shutdown.cgi

#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>Shutting down"
echo "</title></head><body>"
echo "<h1>Shutting down...</h1>"
echo ""
echo "</body></html>"
sudo /sbin/shutdown -h now