
<script src="/////scripts/js></script>
除了如上边那种用多个父路径外还有没有别的方法直接获取项目跟路径。获取项目根目录
在jsp里去<%=requestgetContextPath()%>这就是项目的根路径了,是到项目这层的。
js的引入方法如下:
<script src="<%=requestgetContextPath() %> /home/testjs"></script>
css的引入方法:
<link href="<%=requestgetContextPath() %>/css/onecss" rel="stylesheet" type="text/css">。/js获取项目根路径,如: >
getRootPath:function () {
//获取当前网址,如: >
var cur>
//获取主机地址之后的目录,如: /ems/Pages/Basic/Personjsp
var pathName = windowdocumentlocationpathname;
var pos = cur>
//获取主机地址,如: >
var localhostPath = cur>
//获取带"/"的项目名,如:/ems
var projectName = pathNamesubstring(0, pathNamesubstr(1)indexOf('/') + 1);
return(localhostPath + projectName);
js是客户端,语言
无法,实现你实现你想做的事
同时 你说的,js获取的固定ip地址,这些都是做不到的,那怕是,服务器语言,像php都是无法,精确获取到的,获取到的,只是**(网络运营商,向你提供的ip,而非个人电脑上的ip)
同时出于,安全限制,获取服务器中的目录,这个也是很难实现的,不信你去,问下黑客们
像这样的文章很多,随便找了一个你看看
获取文件目录路径的JavaScript代码
很多时候我们都需要在js文件中获取该文件的详细路径,以便根据其他文件与该js的相对位置计算并设置其他一些文件如或样式或脚本的目录路径。我们一般都这样做:
假设外部js文件的文件名为:testjs,则在testjs中都这样写:
var js=documentscripts;
var jsPath;
for(var i=0;i<jslength;i++){
if(js[i]srcindexOf("testjs")>-1){
jsPath=js[i]srcsubstring(0,js[i]srclastIndexOf("/")+1);
}
}
alert(jsPath);
或者为了提高效率,这样写
var js=documentscripts;
var jsPath;
for(var i=jslength;i>0;i--){
if(js[i-1]srcindexOf("testjs")>-1){
jsPath=js[i-1]srcsubstring(0,js[i-1]srclastIndexOf("/")+1);
}
}
alert(jsPath);
这种思路很清晰,根据文件名获取引用的文件的src属性并进行判断截取即可。
但这种办法有以下两个缺点:
1、需要遍历页面的js文件,有时可能效率会比较低。
2、如果页面中出现目录不同的重名的js文件则可能判断错误。
其实我们可以有更简单的办法来准确获取路径,这是在一次js测试突然发现并幡然醒悟的。
var js=documentscripts;
js=js[jslength-1]srcsubstring(0,js[jslength-1]srclastIndexOf("/")+1);
alert(js);
直接使用jslength?这会正确吗?
其实仔细想想,由于判断路径的js代码一般都直接放在js文件中而不是函数中,所以当加载该js文件时会立即执行其中的语句,而执行此语句时所获取到的js文件数目正好是jslength-1,因为页面后面的js文件还没有加载,所以该处的js文件获取的数目并不是页面所有的js文件的数目。这样一来,获取路径就无需再遍历了,而且文件判断也无需文件名,判断更加准确(jslength-1永远都是其文件本身)。
获取windows系统临时目录
<script>
var fso = new ActiveXObject("ScriptingFileSystemObject");
var f = fsoGetSpecialFolder(2);
alert(f);
</script>
可以使用 documentdocumentelementouterhtml 获取html
可以使用fso = new actinvexobject('Wscriptfilesystemobject') 对象来保存,这个有安全问题,浏览器设置比较麻烦
你的需求 具体还得看需求和运行环境
其实 脚本有很强大的功能,但是也有很大局限性 要看用在什么场合下
很久没有用这个, 只能给你提供一个思路,具体代码还得你自己写
js实现文件另存为的我还没见到过。java的确实是可以,java的实现方式也不止一种。下面以Swing的方式来讲解一种:
通过创建一个文件对话框
//parent表示对话框的所有者 Frame//title表示对话框的标题 String
//mode表示对话框的类型,这里指定为保存类型 int( FileDialogSAVE)
FileDialog saveAsFileDialog = new FileDialog(parent, "对话框标题", FileDialogSAVE);
然后指定这个文件对话框为文件保存类型。调用
saveAsFileDialogsetVisible(true);的方式来显示对话框。显示对话框以后该对话框就处于阻塞状态等待用户通过UI界面去选择文件保存路径。点击保存以后。
saveAsFileDialoggetDirectory()//文件对话框的保存目录+ saveAsFileDialoggetFile();// 获取此文件对话框的保存文件名
拿到保存路径就能够实现文件的保存逻辑 *** 作了。
javascript是客户端脚本,严格来讲,是获取不了虚拟目录路径的。不知道你的意思是不是要取路径?取路径的话,可以这样:在 >
实例说明
BuildPath(路径,文件名) //这个方法会对给定的路径加上文件,并自动加上分界符
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newpath = fsoBuildPath("c:\\tmp", "51jstxt"); //生成 c:\tmp\51jstxt的路径
alert(newpath);
-->
</SCRIPT>
CopyFile(源文件, 目标文件, 覆盖) //复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newpath = fsoCopyFile("c:\\autoexecbat", "d:\\autoexecbak");
-->
</SCRIPT>
CopyFolder(对象目录,目标目录 ,覆盖) //复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
fsoCopyFolder("c:\\WINDOWS\\Desktop", "d:\\"); //把C盘的Desktop目录复制到D盘的根目录
-->
</SCRIPT>
CreateFolder(目录名) //创建一个新的目录
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newFolderName = fsoCreateFolder("c:\\51JS"); //在C盘上创建一个51JS的目录
-->
</SCRIPT>
CreateTextFile(文件名, 覆盖) //创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newFileObject = fsoCreateTextFile("c:\\autoexec51JSbat", true); //脚本将在C盘创建一个叫 autoexec51JSbat的文件
-->
</SCRIPT>
DeleteFile(文件名, 只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject"); //为了安全我先把要删除的autoexecbat备份到你的D盘
var newpath = fsoCopyFile("c:\\autoexecbat", "d:\\autoexecbat"); //把C盘的autoexecbat文件删除掉
fsoDeleteFile("c:\\autoexecbat", true);
-->
</SCRIPT>
DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
fsoCopyFolder("c:\\WINDOWS\\Desktop", "d:\\"); //为了安全我先把你C盘的Desktop目录复制到你D盘的根目录
fsoDeleteFolder("c:\\WINDOWS\\Desktop", true); //把你的Desktop目录删除,但因为desktop是系统的东西,所以不能全部删除,但
-->
</SCRIPT>
DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
hasDriveD = fsoDriveExists("d"); //检查系统是否有D盘存在
hasDriveZ = fsoDriveExists("z"); //检查系统是否有Z盘存在
if (hasDriveD) alert("你的系统内有一个D盘");
if (!hasDriveZ) alert("你的系统内没有Z盘");
-->
</SCRIPT>
FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
fileName = fsoFileExists("c:\\autoexecbat");
if (fileName) alert("你在C盘中有autoexecbat文件,按下确定后这个文件将被删除!"); //开个玩笑:)
-->
</SCRIPT>
FolderExists(目录名) //检查一个目录是否存在,如果存在就返会真,不存在就返回
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
folderName = fsoFolderExists("c:\\WINDOWS\\Fonts");
if (folderName) alert("按下确定后系统的字库将被删除!"); //开个玩笑:)
-->
</SCRIPT>
GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
pathName = fsoGetAbsolutePathName("c:\\autoexecbat");
alert(pathName);
-->
</SCRIPT>
GetBaseName(文件对象) //返回文件对象的文件名
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
baseName = fsoGetBaseName("c:\\autoexecbat"); //取得autoexecbat的文件名autoexec
alert(baseName);
-->
</SCRIPT>
GetExtensionName(文件对象) //文件的后缀
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
exName = fsoGetExtensionName("c:\\autoexecbat"); //取得autoexecbat后缀bat
alert(exName);
-->
</SCRIPT>
GetParentFolderName(文件对象) //取得父级的目录名
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
parentName = fsoGetParentFolderName("c:\\autoexecbat"); //取得autoexecbat的父级目录C盘
alert(parentName);
-->
</SCRIPT>
GetSpecialFolder(目录代码) //取得系统中一些特别的目录的路径,目录代码有3个分别是 0:安装Window的目录 1:系统文件目录 2:临时文件目录
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
tmpFolder = fsoGetSpecialFolder(2); //取得系统临时文件目录的路径 如我的是 C:\windows\temp
alert(tmpFolder);
-->
</SCRIPT>
GetTempName() //生成一个随机的临时文件对象,会以rad带头后面跟着些随机数,就好象一些软件在安装时会生成tmp
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
tmpName = fsoGetTempName(); //我在测试时就生成了radDB70Etmp
alert(tmpName);
-->
</SCRIPT>
MoveFile(源文件, 目标文件) //把源文件移到目标文件的位置
<SCRIPT LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("ScriptingFileSystemObject");
var newpath = fsoMoveFile("c:\\autoexecbat", "d:\\autoexecbat"); //把C盘的autoexecbat文件移移动到D盘
-->
</SCRIPT>
以上就是关于html页面中怎么获取项目根目录和引入js和css全部的内容,包括:html页面中怎么获取项目根目录和引入js和css、js如何获取固定ip地址的电脑中的文件目录、javascript 中怎样获取file里的完整路径,如:D:\E\1.jpg等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)