常用Web开发脚本.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### 常用Web开发脚本知识点解析 #### 一、去字符前后空格方法 `String.prototype.trim` 在Web开发中,我们经常会遇到需要去除字符串前后空格的情况。JavaScript 提供了一个内置的方法 `trim()` 来实现这一功能,但在一些早期版本的浏览器中可能不支持该方法。因此,在实际开发过程中,开发者可能会选择自己定义一个 `trim` 方法来兼容不同的环境。 ```javascript String.prototype.trim = function() { return this.replace(/(^\s+)|(\s+$)/g, ""); }; ``` **解析:** 1. **定义**: 这段代码通过扩展 `String.prototype`,为所有字符串对象添加了一个名为 `trim` 的方法。 2. **实现**: 使用正则表达式 `/^\s+|\s+$/g` 来匹配字符串开头 (`^\s+`) 和结尾 (`\s+$`) 的空白字符,并使用 `replace` 方法将它们替换为空字符串。 3. **应用场景**: 在处理用户输入时,比如表单验证,确保获取到的数据格式统一。 #### 二、自动关闭弹出警告框 `autoCloseAlert` 在网页交互设计中,为了提升用户体验,经常需要使用弹出提示框并在一定时间后自动消失。这段代码实现了一个简单的自动关闭的警告框功能。 ```javascript function autoCloseAlert(msg, timeLong) { try { if (timeLong == null) timeLong = 1000; var tempFrm = document.getElementById("msgFrm"); if (tempFrm == null || typeof(tempFrm) == "undefined") { tempFrm = document.createElement("iframe"); document.body.appendChild(tempFrm); tempFrm.id = "msgFrm"; tempFrm.name = "msgFrm"; tempFrm.style.display = "none"; } msg = msg.replace(/"/g, "\\\""); msg = msg.replace(/\n/g, "\\n"); var sfeature = "status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"; tempFrm.showModelessDialog("javascript:alert(\"" + msg + "\");window.close();", "", sfeature); setTimeout("msgFrm.location.reload();", timeLong); } catch (e) { alert(msg); } } ``` **解析:** 1. **参数**: 接收两个参数 `msg` 和 `timeLong`,其中 `msg` 是要显示的信息,`timeLong` 是显示时间(毫秒),默认值为 1000 毫秒。 2. **实现逻辑**: - 创建一个隐藏的 `iframe` 元素作为容器。 - 使用 `showModelessDialog` 方法创建一个模式对话框显示警告信息,并在显示结束后关闭窗口。 - 通过 `setTimeout` 函数设置延迟执行 `location.reload()`,以达到自动关闭的效果。 3. **注意点**: `showModelessDialog` 方法是 Internet Explorer 浏览器特有的方法,不适用于其他浏览器。 #### 三、指定打印机打印功能 在 Web 应用程序中,有时需要允许用户指定特定的打印机进行打印操作。这段代码展示了如何使用 ActiveXObject 来设置默认打印机。 ```javascript try { var nt = new ActiveXObject("WScript.Network"); nt.SetDefaultPrinter(commonPrinter); // commonPrinter 为打印机名称 } catch (e) {} ``` **解析:** 1. **原理**: 使用 `ActiveXObject` 对象创建了一个网络对象实例,并调用其 `SetDefaultPrinter` 方法来设置默认打印机。 2. **限制**: `ActiveXObject` 只能在 IE 浏览器中运行,并且需要用户允许脚本运行 ActiveX 控件。 3. **应用场景**: 当需要在特定环境下(如内网应用)提供精确的打印控制时。 #### 四、读取本地文件功能 对于需要从客户端读取文件的应用场景,可以通过以下方式实现: ```javascript try { var fso = new ActiveXObject("Scripting.FileSystemObject"); var fileFullPath = "c:\\readme.txt"; // 文件路径 if (!fso.FileExists(fileFullPath)) { alert('没有找到此文件'); } else { var file = fso.OpenTextFile(fileFullPath, ForReading); var inFileInfo = file.ReadLine(); } } catch (e) {} ``` **解析:** 1. **实现原理**: 使用 `ActiveXObject` 创建 `Scripting.FileSystemObject` 实例来操作文件系统。 2. **流程**: - 创建 `Scripting.FileSystemObject` 实例。 - 使用 `FileExists` 方法检查文件是否存在。 - 如果文件存在,则使用 `OpenTextFile` 方法打开文件,并通过 `ReadLine` 方法读取文件内容。 3. **注意事项**: `ActiveXObject` 和 `Scripting.FileSystemObject` 只能用于 IE 浏览器,并且涉及到安全性问题,因此在现代 Web 开发中并不推荐使用。 #### 五、判断文件是否存在的函数 在需要判断文件是否存在于客户端的情况下,可以使用以下方法: ```javascript function fileIsExist(filePath) { try { var obj = new ActiveXObject("MSXML2.XMLHTTP"); obj.open("GET", filePath, false); obj.send(); if (obj.status == 404) { return false; } else { return true; } } catch (e) { return false; } } ``` **解析:** 1. **实现**: 使用 `ActiveXObject` 创建 `MSXML2.XMLHTTP` 实例,发送一个同步的 HTTP GET 请求到指定的文件路径。 2. **工作原理**: 如果文件不存在,HTTP 请求将返回状态码 404,表示未找到文件;如果文件存在,则返回的状态码不是 404。 3. **局限性**: 此方法同样只适用于 IE 浏览器,并且可能存在安全性和跨域访问的问题。 #### 六、JS 文件操作示例 在某些场景下,可能需要在客户端进行文件操作,如读取、写入或删除文件等。下面是一个简单的示例,展示了如何在客户端进行文件操作: ```javascript try { // 获取文件目录地址 var fso = new ActiveXObject("Scripting.FileSystemObject"); contentPath = fso.GetParentFolderName(tempImg); // 如果是第一次加载,则删除临时数据 if (loadImgCount == 0) { fso.DeleteFolder(contentPath); } // 生成新的二维码图片 tempImg = MakeBarCode.getPdf417(printData); if (fso.FileExists(tempImg)) { var file = fso.getFile(tempImg); var tempFileName = (new Date()).getTime(); var newImgSrc = contentPath + "\\" + tempFileName + ".bmp"; // 重命名二维码图片 file.Move(newImgSrc); } } catch (e) {} ``` **解析:** 1. **步骤**: - 使用 `GetParentFolderName` 方法获取文件所在目录。 - 检查是否需要删除临时数据。 - 生成新的二维码图片。 - 如果文件已存在,则重命名文件。 2. **应用场景**: 当需要在客户端生成或处理临时文件时。 3. **注意事项**: 同样需要注意安全性和浏览器兼容性问题。 ### 总结 以上介绍的是几个常用的 Web 开发脚本知识点,涉及了字符串处理、用户交互、文件操作等方面。这些技术在实际开发中非常有用,但同时也需要注意它们的局限性和潜在的安全风险。随着 Web 技术的发展,现在有许多更安全、更现代的方式来实现相同的功能,比如使用 XMLHttpRequest 或 Fetch API 替代 ActiveXObject 进行网络请求,使用 FileReader API 读取文件等。因此,在实际项目中,应根据具体情况选择合适的技术方案。
- 粉丝: 3834
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助