Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以HTML格式获取下载文件的版本信息_Javascript_Html_Fileversioninfo_Getfileversion - Fatal编程技术网

Javascript 以HTML格式获取下载文件的版本信息

Javascript 以HTML格式获取下载文件的版本信息,javascript,html,fileversioninfo,getfileversion,Javascript,Html,Fileversioninfo,Getfileversion,我们的网站包含一个链接,客户可以在其中下载最新的update.exe文件。我们希望网页自动显示每个修补程序文件的文件版本信息。这些文件是数字签名的本机windows可执行文件 有没有一种方法可以使用HTML5或javascript从文件中获取和显示版本信息,而无需用户单击按钮?本质上,我们希望在页面加载或刷新时更新文件版本。这是我们现在拥有的。我想在每一行的“产品”后面加上“Version1.2.3.4” <ul class="links"> <li>Latest

我们的网站包含一个链接,客户可以在其中下载最新的update.exe文件。我们希望网页自动显示每个修补程序文件的文件版本信息。这些文件是数字签名的本机windows可执行文件

有没有一种方法可以使用HTML5或javascript从文件中获取和显示版本信息,而无需用户单击按钮?本质上,我们希望在页面加载或刷新时更新文件版本。这是我们现在拥有的。我想在每一行的“产品”后面加上“Version1.2.3.4”

<ul class="links">
    <li>Latest Patches:</li>
    <li><a href="updateFoo.exe">Update for Foo Product </a></li>
    <li><a href="updateBar.exe">Update for Bar Product </a></li>
    <li><a href="updateYou.exe">Update for You Product </a></li>
</ul>
  • 最新补丁:

最好在服务器端找到文件版本。如果您在客户端执行此操作,JavaScript必须至少下载每个文件的前几个块

如果希望保持HTML文件的完整性,可以向服务器端发出Ajax请求,在服务器端脚本(如php文件)将返回这些文件的文件版本。可在此处找到此类php函数的示例:

下面的示例显示了如何通过Ajax从服务器端获取文件版本,并在每个下载链接旁边写入

<script src="https://raw.githubusercontent.com/vishva8kumara/arc-reactor/master/arc.js"></script>

<ul class="links">
    <li>Latest Patches:</li>
    <li><a href="updateFoo.exe" class="fetchVersion">Update for Foo Product </a></li>
    <li><a href="updateBar.exe" class="fetchVersion">Update for Bar Product </a></li>
    <li><a href="updateYou.exe" class="fetchVersion">Update for You Product </a></li>
</ul>

<script>
    var links = q('.fetchVersion');
    for (var i = 0; i < links.length; i++)
        new ajax('getVersion.php?file='links[i].getAttribute('href'),
            {
                callback: function(data, ref){
                    ref.appendChild(elem('span', data.responseText));
                }
            }, links[i])
</script>

  • 最新补丁:
var links=q('.fetchVersion'); 对于(变量i=0;i

在服务器上,创建一个接受$_GET['file']的文件getVersion.php,调用getFileVersionInfo函数并将文件信息写入输出缓冲区。

这需要将每个文件下载到客户端,并为用户和服务器占用带宽。如果您从客户端获取版本号,然后将HTML内容插入到页面中,会更好。服务器端脚本语言是什么,文件编译和生成时使用什么。我认为构建工具在这种情况下很重要。从构建系统或存储库本身获取版本号不是更容易吗..我们正试图避免每次上载新补丁文件时都必须编辑HTML页面。我们的构建系统可以将文件放在那里。但是我们不能自动编辑HTML。由于文件位于服务器上,是否无法直接从文件中提取版本信息并将其显示在网页上?我们也愿意使用另一种方法。我们要避免的是每次上传补丁时都必须编辑HTML。您可以使用服务器端脚本语言,如php或ASP(或ASP.net),通过web服务器生成并返回HTML页面,因此您不必手动编辑HTML页面。