如何在javascript函数中写入html文件的路径

如何在javascript函数中写入html文件的路径,javascript,Javascript,我想在Iframe中动态加载一个HTML文件 我尝试了以下代码: <script type="text/javascript"> $(document).ready(function () { $('a').click(function (e) { e.preventDefault(); filename = "\"+$(this).text() + ".htm"; alert(filename); $('

我想在Iframe中动态加载一个HTML文件

我尝试了以下代码:

<script type="text/javascript">
$(document).ready(function () {
    $('a').click(function (e) {
        e.preventDefault();   
        filename = "\"+$(this).text() + ".htm";
        alert(filename);
        $('iframe').attr('src', filename);
    });
}); </script>  

$(文档).ready(函数(){
$('a')。单击(函数(e){
e、 预防默认值();
filename=“\”+$(this.text()+”.htm”;
警报(文件名);
$('iframe').attr('src',文件名);
});
});   
目录结构: E:SVN_HobbyHomes\HobbyHomesWebApp\HTML\Dancing.htm

它不会在Iframe内的路径中加载文件。 Howevr如果我这样写,它会工作,但我不知道如何在javascript中使用@Url.Content

<iframe id="iframe" frameborder="0" src=src="@Url.Content("~/HTML/Dancing.htm")" style="width: 100%; height: 700px;"></iframe>


仍然给我错误:资源找不到

iframe的源必须是绝对或相对的URL。您的不是URL,而是本地文件名。

iframe的源必须是URL,可以是绝对的,也可以是相对的。您的文件不是URL,而是本地文件名。

这很可能是浏览器安全限制。出于(明显的)原因,浏览器中的代码不允许访问工作站上的本地资源(没有明确授予更多权限的插件等)

如果网页可以访问某人本地工作站上的文件,它还能做什么?您还可以任意访问哪些其他文件?安全问题相当清楚


您需要以与试图访问该文件的网页相同的方式提供该文件。

这很可能是浏览器的安全限制。出于(明显的)原因,浏览器中的代码不允许访问工作站上的本地资源(没有明确授予更多权限的插件等)

如果网页可以访问某人本地工作站上的文件,它还能做什么?您还可以任意访问哪些其他文件?安全问题相当清楚


您需要以与访问网页相同的方式来访问文件。

看到我的路径,您可以告诉我应该如何编写以便它获取文件吗?您可以使用相对文件表示法访问您的文件,例如
filename=“/”+$(this).text()+“.html”
,如果
$(this).text()
指向与当前加载的文件位于同一目录中的文件。请注意,如果您没有在
$(this).text()
中清理用户输入,那么您的代码将允许跨站点脚本(XSS)。嘿,我尝试了您建议的方法,但由于未找到资源,我遇到了一个错误。请帮我用您当前使用的代码更新您的第一篇文章。另外,请告诉我们您的目录结构是如何排序的,例如,您试图加载的文件位于何处。看到我的路径,您可以告诉我我应该如何编写以便它获取文件吗?您可以使用相对文件表示法访问您的文件,例如
filename=“/”+$(this).text()+“.html”
,如果
$(this).text()
指向与当前加载的文件位于同一目录中的文件。请注意,如果您没有在
$(this).text()
中清理用户输入,那么您的代码将允许跨站点脚本(XSS)。嘿,我尝试了您建议的方法,但由于未找到资源,我遇到了一个错误。请帮我用您当前使用的代码更新您的第一篇文章。另外,请告诉我们您的目录结构是如何排序的,例如,您试图加载的文件位于何处。因此,我如何访问我的dat页面。请帮助我查找更新的问题,听起来您将服务器端路径与客户端路径混淆了。如果该页面存在于服务器上,并且客户端可以看到,则需要向客户端提供客户端可见路径。这通常是来自web服务器根目录的相对URL或绝对URL的形式。客户端将无法看到服务器驱动器号之类的内容。所以像
@Url.Content(“~/HTML/Dancing.htm”)
这样的东西会将您提供给它的服务器端路径转换为客户端路径。查看呈现的HTML以查看该路径。那么我如何访问我的dat页面..请帮助我查看更新的问题,听起来您将服务器端路径与客户端路径混淆了。如果该页面存在于服务器上,并且客户端可以看到,则需要向客户端提供客户端可见路径。这通常是来自web服务器根目录的相对URL或绝对URL的形式。客户端将无法看到服务器驱动器号之类的内容。所以像
@Url.Content(“~/HTML/Dancing.htm”)
这样的东西会将您提供给它的服务器端路径转换为客户端路径。查看呈现的HTML以查看该路径。