我有一个页面,加载后我希望它运行一个perl脚本。这可能与javascript有关吗?我之前从未在网上运行过perl脚本,我看到它的唯一方法是链接到它。
答案 0 :(得分:7)
有三种方式:
如果它是动态页面(CGI或其他),只要支持页面的脚本是可执行的Perl脚本返回有效的HTTP响应,就可以了。如果需要执行单独的Perl脚本,可以使用通常的system()
调用来执行此操作(理想情况下,该功能应该是Perl库调用,这样您的脚本就可以执行它而不会产生系统调用)。这种方法当然适用于编写后端脚本的任何语言,例如,如果它是Java Servlet或任何其他代码,它也可以执行对Perl脚本的系统调用。
如果它是一个静态HTML页面,你可以有一个“onload”JavaScript事件(或只是<script>
标签内的JS函数调用),它执行对不同动态页面的AJAX调用(比如说http://yourserver/scripts/run_script_X)按照前一个要点运行脚本。
为了清楚起见,该脚本将在 Web服务器上运行,而不是在浏览器/客户端系统中运行;因此,如果您希望产生这样的效果,则需要某种机制来允许脚本的结果影响您的网页。
$.ajax({url: 'http://yourserver/scripts/run_script_X'}); // jQuery example
作为最后一种方法的旧版变体,您还可以让您的网页有<IFRAME>
,其网址指向http://yourserver/scripts/run_script_X(如果您不在乎,请将iframe设置为小/不可见关于根据你的评论运行脚本的结果。)
<!-- The rest of your HTML code -->
<IFRAME
SRC="http://yourserver/scripts/run_script_X"
style="display: none;"
/>
在对此答案发表评论之前发表的相关评论:
没有更多关于你想要页面的内容(CGI脚本,静态HTML等等)以及你希望脚本做什么以及你希望运行脚本的结果如何影响你的页面,很难提出更精确的建议。