如何在javascript函数中写入html文件的路径
我想在Iframe中动态加载一个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); $('
<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以查看该路径。