8 Star 27 Fork 0

Gitee 极速下载 / Webmin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/webmin/webmin
克隆/下载
javascript-lib.pl 14.69 KB
一键复制 编辑 原始数据 按行查看 历史
luz paz 提交于 2022-06-29 07:17 . Fix user and non-user facing typos
#javascript-lib.pl
#------------------------------#
# JavaScript Library #
# #
# Written By: #
# John Smith #
# <john.smith@msclinux.com> #
# #
# MSC.Software #
# http://www.msclinux.com #
# http://www.mscsoftware.com #
#------------------------------#
#----------------------------------------------------------------------------#
# Available Functions #
# *jroll_over #
# -This gives you simple mouse over functions on graphics #
# and include a link. #
# -Usage = &jroll_over("url", "name", "border", "imgoff", "imgon"); #
# *jimg_preload #
# -Preloads any number of given images. #
# -Usage = &jimg_preload("image/1.gif", "image/u.gif"); #
# *jimg_update #
# -Updates any image on your page that has a name #
# -Usage = &jimg_update("imgname", "image/toload.gif"); #
# *janim #
# -Builds an Animation with any given list of images #
# -Usage = &janim("name", "speed", "list.gif", "of.gif", "images.jpg") #
# *janim_start #
# -Starts the animation you built with janim #
# -Usage = &janim_start("name"); #
# *janim_stop #
# -Stops the animation you built with janim #
# -Usage = &janim_stop("name"); #
# *jalert #
# -Launches an alert dialog box with a custom message #
# -Usage = &jalert("Your alert message!"); #
# *jwindow #
# -Opens a window with a given URL #
# -Usage = &jwindow("url", "name", "width", "height"); #
# *jwindow_xy #
# -Repostitions a named windows x and y #
# -Usage = &jwindow_xy("name", "x", "y"); #
# *jterminal #
# -Creates an empty plain text window for writing data to #
# -Usage = &jterminal("name", "width", "height"); #
# *jwrite #
# -Write data to a created window or terminal #
# -Usage = &jwrite("name", "data to write"); #
# *jtext #
# -Simple text rollovers between two colors #
# -Usage = &jtext("text message", "red", "#F1F1F1"); #
# *jtalkback #
# -Builds a JavaScript for a pop-up talkback/bug report window #
# -Usage = &jtalkback(); #
# *jerror #
# -Launches the jtalkback window upon execution #
# -Usage = &jerror("title", "email", "width", "height", \ #
# "errmsg", "url", "erroredonline"); #
# *jtalkback_link #
# -Creates a button or text link to launch the jtalkback window #
# -Usage = &jtalkback_link("title", "email", "width", "height", \ #
# "text", "type"); #
#----------------------------------------------------------------------------#
#creates a mouse over event with a link
sub jroll_over {
my ($url, $name, $border, $img_off, $img_on) = @_;
if (!$url) { $url = "javascript:"; }
print "\n<a href=\"$url\"", " onmouseover=\"document.$name.src=\'$img_on\'\;\"", " onmouseout=\"document.$name.src=\'$img_off\'\;\">";
print "<img src=\"$img_off\" name=\"$name\" border=\"0\" alt=\"$name\"></a>";
}
#preloads a list of images for smooth loading
sub jimg_preload {
my (@img_array) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
foreach my $img (@img_array) {
print "(new Image).src = \"$img\"\;\n";
}
print "</SCRIPT>\n";
}
#update any image on a page by its name
sub jimg_update {
my ($name, $img) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "document.$name.src = '$img';\n";
print "</SCRIPT>\n";
}
#build an animation (preloads images itself)
sub janim {
my ($name, $speed, @anim_array) = @_;
my $frames = @anim_array;
my $count = 0;
my $arraycount = 0;
print "<img name='$name' src='@anim_array[0]' alt='$name'>\n";
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "var aniframes$name = new Array($frames);\n";
foreach my $img (@anim_array) {
print "aniframes$name\[$count] = new Image();\n";
print "aniframes$name\[$count].src = '@anim_array[$arraycount]';\n";
$arraycount++;
$count++;
}
print "var frame$name = 0;\n";
print "var timeout_id$name = null;\n";
print "function animate$name() {\n";
print "document.$name.src = aniframes$name\[frame$name].src;\n";
print "frame$name = (frame$name + 1)%$frames;\n";
print "timeout_id$name = setTimeout('animate$name()', $speed);\n";
print "}\n";
print "</SCRIPT>\n";
}
#start an animation
sub janim_start {
my ($name) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "animate$name();\n";
print "</SCRIPT>\n";
}
#stop an animation
sub janim_stop {
my ($name, $image) = @_;
if (!$image) { }
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "if (timeout_id$name) clearTimeout(timeout_id$name);\n";
print "timeout_id$name=null;\n";
if ($image) {
print "document.$name.src = '$image';\n";
}
print "</SCRIPT>\n";
}
#create an alert dialog box
sub jalert {
my (@alert_msg) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "alert('@alert_msg')";
print "</SCRIPT>\n";
}
#opens a specified url in a separate window
sub jwindow {
my ($url, $name, $width, $height) = @_;
if (!$width) { $width = "300"; }
if (!$height) { $height = "200"; }
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "$name = window.open('$url','$name','width=$width,height=$height');\n";
print "</SCRIPT>\n";
}
#sets a specified window to x y location
sub jwindow_xy {
my ($name, $x, $y) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "$name.moveTo('$x','$y');\n";
print "</SCRIPT>\n";
}
#opens a blank terminal window for writing data to
sub jterminal {
my ($name, $width, $height) = @_;
if (!$width) { $width = "300"; }
if (!$height) { $height = "200"; }
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "$name = window.open('','$name','width=$width,height=$height');\n";
print "$name.document.open('text/plain')\n";
print "</SCRIPT>\n";
}
#write data to a given window name
sub jwrite {
my ($name, @msg) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "$name.document.writeln('@msg');\n";
print "</SCRIPT>\n";
}
#text rollover
sub jtext {
my ($text, $coloroff, $coloron) = @_;
print "<font color=\"$coloroff\" onMouseOver=\"this.style.color = '$coloron'\" onMouseOut=\"this.style.color = '$coloroff'\">$text</font>";
}
#Puts the needed JavaScript into your page for talkback reports
sub jtalkback {
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "var error_count = 0;\n";
print "function talkback(title,email,width,height,errmsg,url,line)\n";
print "{\n";
print " var w = window.open(\"\", \"error\"+error_count++, \"resizable,status,width=\"+ width + \",height=\" + height + \"\");\n";
print " var d = w.document;\n";
print "d.write('<body bgcolor=\"#FFFFFF\" text=\"#000000\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">');\n";
print "d.write('<form action=\"/jtalkback.cgi\" method=\"post\">');\n";
print "d.write('<input type=\"hidden\" name=\"Subject\" value=\"' + title + '\">');\n";
print "d.write('<input type=\"hidden\" name=\"EmailTo\" value=\"' + email + '\">');\n";
print "d.write('<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\">');\n";
print "d.write(' <tr $tb>');\n";
print "d.write(' <td colspan=\"2\">');\n";
print "d.write(' <div align=\"center\"><font size=\"4\" face=\"Verdana, Arial, Helvetica, sans-serif\">' + title + '</font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Name:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"Name\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>eMail:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"eMail\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>OS:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"OS\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Program:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"Program\" value=\"' + url + '\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Error:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"Error\" value=\"' + errmsg + '\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Line:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"Line\" value=\"' + line + '\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Browser:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"Browser\" value=\"' + navigator.userAgent + '\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' <tr $cb>');\n";
print "d.write(' <td width=\"18%\">');\n";
print "d.write(' <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Comment:</b>');\n";
print "d.write(' </font></div>');\n";
print "d.write(' </td>');\n";
print "d.write(' <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
print "d.write('<center><input size=\"42\" name=\"Comment\"></center>');\n";
print "d.write(' </font></td>');\n";
print "d.write(' </tr>');\n";
print "d.write(' </table>');\n";
print "d.write('<table border=\"0\" width=\"100%\"><tr><td>');\n";
print "d.write(' <input type=\"submit\" value=\"Report Error\">&nbsp;&nbsp;');\n";
print "d.write(' <input type=\"button\" value=\"Dismiss\" onclick=\"self.close();\">');\n";
print "d.write('</td></tr></table>');\n";
print "d.write('</form>');\n";
print "d.close();\n";
print "return true;\n";
print "}\n";
print "</SCRIPT>\n";
}
#Launches the talkback form
sub jerror {
my ($title, $email, $width, $height, $errmsg, $url, $line) = @_;
print "<SCRIPT LANGUAGE=JavaScript>\n";
print "talkback('$title','$email','$width','$height','$errmsg','$url','$line');\n";
print "</SCRIPT>\n";
}
#Allows you to manually luanch the talkback form
sub jtalkback_link {
my ($title, $email, $width, $height, $text, $type) = @_;
if ($type eq 0) {
print "<a href=\"#\" onclick=\"talkback('$title', '$email', '$width', '$height','$errmsg','$url','$line');\">$text</a>\n";
} elsif ($type eq 1) {
print "<form><input type=\"button\" value=\"$text\" onclick=\"talkback('$title', '$email', '$width', '$height','$errmsg','$url','$line');\"></form>\n";
}
}
return 1;
Perl
1
https://gitee.com/mirrors/webmin.git
git@gitee.com:mirrors/webmin.git
mirrors
webmin
Webmin
master

搜索帮助