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

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

问题描述:

我想动态地在iframe中加载HTML文件。如何在javascript函数中编写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> 

目录结构: E:SVN_HobbyHomes \ HobbyHomesWebApp \ HTML \ Dancing.htm

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

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

史迪威它给我的错误:资源可以notbe找到!

iframe的来源必须是一个URL,无论是绝对的还是相对的。你的不是一个URL,而是一个本地文件名。

+0

看到我的路径可以告诉我应该如何写入,以便它提取文件 – user1274646 2012-04-23 14:16:23

+0

您可以使用相对文件表示法来访问您的文件,例如,如果'$(this).text()'指向与当前加载文件相同的目录中的文件,则'filename =“/”+ $(this).text()+“。html”;' 如果您不清理'$(this).text()'中的用户输入,请注意您的代码允许跨站点脚本(XSS)。 – Honoki 2012-04-23 14:19:59

+0

嘿,我试过wat你建议,但我得到一个错误,因为资源not found.please帮助我 – user1274646 2012-04-24 04:38:25

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

如果一个网页可以访问某个人的本地工作站上的文件,那它还能做什么?你可以随意访问哪些其他文件?安全影响非常明显。

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

+0

那么我怎样才能访问我的dat页......请帮我 – user1274646 2012-04-24 04:44:34

+0

看看更新的问题,这听起来像你在服务器端路径与客户端路径混淆。如果服务器上存在_and_页面并且客户端可见,那么您需要向客户端提供客户端可见路径。这通常采用相对URL或Web服务器根目录*中的绝对URL *的形式。客户端将无法看到服务器驱动器号和类似的东西。因此,像@ @ Url.Content(“〜/ HTML/Dancing.htm”)这样的东西就会将你提供的服务器端路径转换为客户端路径。查看呈现的HTML以查看该路径。 – David 2012-04-24 12:35:00