所以最好就是用相对根路径;
即
<script type="text/javascript" src="/test/hits/xxxxx.js"></script>
这样的话,无论你在任何位置都可以正确调用你的文件了。
比如说,现在有一个外部的html文件test.html,内容是:
<input type="button" value="外部文件按钮" /><p>外部文件p标签</p>
现在在这个网页中加载test.html中的内容,这个网页的源码为:
<html><head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title></title>
<script src="../Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
function GetHtml() {
$.ajax({
type: "POST",
url: 'Handler.ashx', //提交到一般处理程序请求数据
success: LoadHtml
})
}
function LoadHtml(data) {
var div = document.getElementById("out")
div.innerHTML = data//注意这里,要是想展示test.heml中的内容就用这个,如果显示源代码则用innerText
}
</script>
</head>
<body>
<input type="button" value="加载外部Html文件内容" onclick="GetHtml()" />
<div id="out">
</div>
</body>
</html>
上面脚本中写的Handler.ashx是一个一般处理程序,代码是这样的:
public void ProcessRequest(HttpContext context){
context.Response.ContentType = "text/plain"
string html = GetOutsideContent("test.html")
context.Response.Write(html)
}
public static string GetOutsideContent(string Path)
{
try
{
StreamReader sr = new StreamReader(HttpContext.Current.Server.MapPath(Path), System.Text.Encoding.GetEncoding("utf-8"))
string content = sr.ReadToEnd().ToString()
sr.Close()
return content
}
catch
{
return "错误"
}
}
public bool IsReusable
{
get
{
return false
}
}
这是asp.net下的,如果你是使用其他语言的都大同小异,从后台读取文件中的内容,使用Ajax获取后台传递的文件中的内容,思路就是这样。
给你例子:有两个文件夹:文件夹 html 和 文件夹 imageshtml 和 images 在同一个目录下边,比如你在html这个文件夹里写了一个index.html网页
你想调用images文件夹里的 a.jpg 你就要这样写
../images/a.jpg [切记,你是在 html >index.html 里边写的路径]
再举一个例子 有一个default.html 和一个images文件夹 在同一个目录里边,那这次要想在default.html里边找到images里边的a.jpg
那你就要这样写:
images/a.jpg
解释:
相对路径就是在当前的代码所在的文件里边,根据当前目录,找到想要的文件的地方
../ 表示找到此文件的上一级
../images表示找到此文件的上一级里边的images文件夹
../images/a.jpg表示找到此文件的上一级里边的images文件夹下边的a.jpg
还有什么不明白的,可以在我的空间里给我留言,然后我告诉你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)