获取磁盘信息并扫描是否连接移动磁盘之JS版

昨天弄了一天“扫描U盘是否连接到电脑”的功能,折腾了一天出了个java版和js版,这里记录下JS版本。先说说思路:从浏览器的地址栏打开网页之后,通过onload事件调用ActiveXObject判断U盘是否连接到电脑,若是连接了获取信息显示到table中,若是没有每隔2秒调用一次事件进行获取,获取到之后清空计时器并将U盘信息显示到页面。PS:全程只获取一个U盘的信息。 1、页面基本...
摘要由CSDN通过智能技术生成

昨天弄了一天“扫描U盘是否连接到电脑”的功能,折腾了一天出了个java版和js版,这里记录下JS版本。

先说说思路:从浏览器的地址栏打开网页之后,通过onload事件调用ActiveXObject判断U盘是否连接到电脑,若是连接了获取信息显示到table中,若是没有每隔2秒调用一次事件进行获取,获取到之后清空计时器并将U盘信息显示到页面。PS:全程只获取一个U盘的信息。

 

1、页面基本结构:

<body  οnlοad="checkDisk();">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" class="ztb_l" id="upanTable">
		<tr>
			<td>盘符路径(Path)</td>
			<td>文件系统类型(FileSystem)</td>
			<td>驱动器类型(DriveType)</td>
			<td>驱动器对象的字母(DriveLetter)</td>
			<td>驱动器是否准备好或是否损坏(IsReady)</td>
			<td>卷标名(VolumeName)</td>
			<td>驱动器对象的跟文件夹(RootFolder)</td>
			<td>可用容量大小(AvailableSpace)</td>
			<td>总空间容量大小(TotalSize)</td>
		</tr>
	</table>
</body>

2、JS查询:

var tt = 2 *1000;//2秒扫描一次
var interval=null;
/**
 * 该方法用来检测U盘是否存在,若是存在则显示在页面中,若是不存在则扫描识别直至电脑连接上U盘
 * @param flag:1-移动磁盘 2-本地磁盘 非1和2其他磁盘信息,若有多个磁盘页面只显示一个磁盘信息
 */
function 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FSCAN算法是一种磁盘访问调度算法,它基于扫描磁头的方式,按照磁道号从小到大的顺序扫描磁盘。当磁头扫描到最后一个磁道后,重新回到磁盘的最外磁道继续扫描。下面是使用C语言实现FSCAN算法的示例代码: ```c #include <stdio.h> // 磁盘访问请求结构体定义 typedef struct Request { int track; // 磁道号 int visited; // 是否已被访问 } Request; int main() { int n, head, direction; printf("请输入磁盘访问请求总数:"); scanf("%d", &n); printf("请输入磁头起始位置:"); scanf("%d", &head); printf("请输入磁头移动方向(0表示向内移动,1表示向外移动):"); scanf("%d", &direction); Request requests[n]; int i; for (i = 0; i < n; i++) { printf("请输入第%d个请求的磁道号:", i + 1); scanf("%d", &requests[i].track); requests[i].visited = 0; } int totalTracks = 200; // 磁盘总磁道数 int current = head; int total = 0; while (1) { int flag = 0; for (i = 0; i < n; i++) { if (requests[i].visited == 0 && requests[i].track >= current) { flag = 1; current = requests[i].track; requests[i].visited = 1; total += current - head; head = current; } } if (flag == 0) { if (direction == 1) { current = totalTracks - 1; } else { current = 0; } continue; } flag = 0; for (i = 0; i < n; i++) { if (requests[i].visited == 0 && requests[i].track < current) { flag = 1; current = requests[i].track; requests[i].visited = 1; total += head - current; head = current; } } if (flag == 0) { if (direction == 1) { current = 0; } else { current = totalTracks - 1; } continue; } break; } printf("磁盘访问序列总移动磁道数为:%d\n", total); return 0; } ``` 在以上示例代码中,我们使用了一个结构体来表示磁盘访问请求,其中包括了请求的磁道号和是否已被访问的标志位。我们首先通过键盘输入的方式获取了所有的请求信息,然后按照FSCAN算法的实现原理对请求进行扫描,并计算出总共移动的磁道数。最后将计算结果输出即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值