在经典的asp应用程序中动态调用JS文件来加载——这是我们的开发人员试图实现的
Dynamically calling JS files to load in classic asp application - what was our developer trying to achieve?
在项目的唯一开发人员离开后,我最近接管了一个经典ASP应用程序的开发。下面有一段代码,就我的一生而言,我无法计算出它的好处,也许你们中一些更有经验的男人和女孩可以阐明其中的逻辑?
在default.asp页面的头部分,代码调用另一个带有参数的asp页面,以便加载/包含一些文件。这个asp页面读取参数,然后选择一个文件数组。然后,它在这个数组中循环,对于数组中的每个对象,它执行以下功能:
Sub SendFile(ByRef sFilename)
If Len(sFilename) = 0 Then
Exit Sub
End If
If IsEmpty([__SendFile_sSuffixCompressed]) Then
[__SendFile_sSuffixCompressed] = ".js"
End If
If IsEmpty([__SendFile_fso]) Then
Set [__SendFile_fso] = Server.CreateObject("Scripting.FileSystemObject")
End If
Dim sPath
sPath = Server.MapPath(sFilename)
Dim stream
Dim sData
Set stream = Server.CreateObject("ADODB.Stream")
Response.Write sPath
With stream
.Charset = "utf-8"
.Type = 2
.Open
.LoadFromFile sPath
sData = .ReadText
.Close
End With
OurResponse.Write sData
End Sub
我本以为这是一种动态加载这些文件的方法,但在正常的<script src"...>
行周围有一个条件IF块不是更容易吗?
<script src"...>
行将从有效的URL加载脚本,但这可能是web应用程序在服务器上包含脚本文件的一种方式,而这些脚本文件位于文件系统的其他位置,无法通过公共URL直接访问?
我不知道你为什么要这样做,因为你仍然可以从公共URL调用这个ASP页面来获取脚本,所以它真的不会给你带来安全感,只是混淆。
我个人非常喜欢尽可能删除代码。尝试用您在开发环境中提到的条件脚本标记替换此功能,并测试更改。如果他们是这种无稽之谈的任何隐藏原因,那么你应该能够找到他们。
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- Webpack开发服务器和React服务器端渲染
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 为什么不'我们在javascript中使用函数参数的数据类型
- JavaScript滚动脚本-在测试中激发,而不是在开发站点上
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 我们怎样才能将内含子J用于一组特定的元素
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 我们可以使用任意的编程语言来动态化HTML页面吗
- webpack开发模式和生产构建模式之间有什么区别
- 开发第三方小部件-Angular vs jQuery vs普通的旧JS
- index.html使用webpack开发服务器未重新加载
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- 我们如何找到下载的jquery插件尝试连接到其开发人员站点
- 我们在firefox开发工具中所说的等待时间是什么意思
- 我们可以使用Jade Template/Js来开发Firefox扩展吗?
- 什么是服务器端java脚本?我们可以在服务器端使用java脚本吗?对于前端开发人员来说,需要知道哪种类型的java脚本
- 在经典的asp应用程序中动态调用JS文件来加载——这是我们的开发人员试图实现的