从HTML文件

时间:2017-02-27 13:33:12

标签: javascript html vbscript

我一直在围绕这个问题解决这个问题几天,在论坛和网上搜索所有可能的解决方案,但似乎无法让它正常工作。

我通过“按钮”上的链接调用脚本来启动服务器上的脚本(用HTML格式):

<a href="#" onClick="RunScript();">

脚本代码是:

<script type="text/javascript" language="javascript">
    function RunScript() {
    var objShell = new ActiveXObject("WScript.Shell");
    objShell.Run("%comspec% /k my_projects_EN.vbs" "), 1, false;
    }
</script>

那我为什么要使用vbs?我要做的是为每个员工创建自定义页面。因此,vbs实际上是在检查计算机名称,而if子句将员工定向到自定义页面。凭借我对编程的基本知识和大量的搜索时间,我还没有找到更好的解决方案。所以我试图让这个工作起作用。

只有当我在本地(桌面)运行脚本时才会这样做。但是,由于网页将在Intranet位置使用,因此该脚本将位于服务器上。这就是它变得有点毛茸茸的地方,因为我似乎找不到合适的命令组合。我已经尝试过pushd来创建一个已安装的卷或currentDir来设置脚本的位置,但似乎没有任何东西可以完全运行。

我认为我缺少一个函数的子程序,因为添加任何东西只是停止脚本 - 但是如何去做它是超出我的。

所有帮助都表示赞赏,即使这意味着我必须将自己埋葬到另一种程序语言中(当然不是首选)。

我确信有一种方法可以解决这个问题,而不是向每个员工发送一个脚本来放置他们的桌面(每次新员工上班时)。

由于

修改:我看到了另外的说明:

我们正在创建一个Intranet网页,以帮助我们的员工提高工作效率。我们与其他人处于同一水平,所以不是IT或管理权限的人,所以我们自己。 关键是要为每个员工建立一个可以通过同一界面访问的个人页面。因此,链接必须将每个人发送到另一个页面,这就是为什么我创建了有助于此的vbs代码。检查其他几个选项,这似乎是最简单和最好的选择 - 它至少部分起作用。我没有看到任何安全风险,因为所有这些都将在每台客户端计算机上完成 - 文件本身将位于服务器上。脚本本身并不代表任何风险,至少不是我会看到它 - 但当然我不是专家。

所以简而言之,这就是我们要做的事情:

主页 - &gt;链接到My_projects按钮 - &gt;启动脚本(与主页面位于同一服务器上) - &gt;确定客户端计算机名称 - &gt;重定向到正确的网页。

很抱歉由于缺乏细节,我发现如果你不是这方面的专业人士,有时很难准确解释你想要的东西。

再次感谢。

2 个答案:

答案 0 :(得分:0)

如果这些计算机实际位于您的工作场所并且您可以控制系统,那么最好在这些计算机上调整DNS重定向。否则,更通用和独立于操作系统的解决方案将是员工计算机上的会话,cookie或令牌。不过,除了拥有一台机器之外,某些认证可能更加通用和安全(除非你的PC在地下1000英尺处:-))。

编辑:将哪种信息/数据发送到服务器脚本?服务器脚本在服务器上运行,与“此计算机”(例如名称)相关的所有内容实际上都是指服务器本身。因此,脚本需要客户端的一些数据来识别他的计算机。

答案 1 :(得分:0)

感谢您的努力

所有内容实际上都位于服务器上,因此客户端计算机仅运行位于\ Server \ folder \文件夹中的页面或界面。 在浏览器中打开起始页面,其中包含一个带有此脚本链接的按钮(位于同一服务器上)。

当脚本执行时,它会搜索计算机名称并将用户发送到他的个人页面:

Set wshShell = CreateObject( "WScript.Shell" )
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )

On Error Resume Next

&#39;#01 name_surname    如果strComputerName =&#34; XXXXXXXX&#34;然后

CreateObject(&#34; WScript.Shell&#34;)。运行&#34;&#34;&#34; name_surname.html&#34;&#34;&#34;

等等。

这就是全部。如前所述,我们没有管理员权限来更改客户端计算机上的任何内容。因此,除了执行位于服务器上的脚本之外,客户端上没有任何操作。