Javascript函数打开未被调用的文件
Javascript function to open a file not getting called
我在调用 JavaScript 函数
时遇到问题我想在单击链接时打开文件。
这是我的代码:
<script language="javascript" type="text/javascript">
var refViewer = null;
function OpenViewerWindow(image) {
return window.open(image, "Viewer", "height=400px,width=550px,menubar=no,scrollbars=yes ,resizable=yes,top=100px,left=234px");
}
function openViewer(image) {
if (refViewer != null) {
if (refViewer.closed == false) {
refViewer.close();
refViewer = OpenViewerWindow(image);
}
else refViewer = OpenViewerWindow(image);
}
else
refViewer = OpenViewerWindow(image);
}
</script>
<a onclick=javascript:openViewer(@ViewBag.path)><img src="pic.jpg"/></a>
和控制器中:
public ActionResult ActivityPosting(int HobbyDetailID)
{
string filepath = Server.MapPath("~/ePortfolio/PortFolioContent/" + HobbyDetailID + "/ReferenceMaterial/" + item.FilePath);
ViewBag.path = filepath;
return view();
}
问题是javascript函数没有被调用。请帮助我
在你的JavaScript
OpenViewerWindow
函数中试试这个(你需要使用file://
协议:
return window.open("file://" + image, "Viewer", "height=400px,width=550px,menubar=no,scrollbars=yes ,resizable=yes,top=100px,left=234px")
确保传递一个字符串:
<a onclick=javascript:openViewer('@ViewBag.path')><img src="pic.jpg"/></a>
请注意单引号。或者更好地使用 Json.Encode 来确保正确编码传递给 openViewer
javascript 函数的值:
<a onclick="javascript:openViewer(@Html.Raw(Json.Encode(ViewBag.path)))"><img src="pic.jpg"/></a>
您的代码还有另一个问题。使用 Server.MapPath
计算 url,但此方法返回服务器上文件的绝对路径。客户端显然无法使用绝对路径访问它。您应该使用Url.Content
帮助程序传递 url:
public ActionResult ActivityPosting(int HobbyDetailID)
{
string filepath = Url.Content("~/ePortfolio/PortFolioContent/" + HobbyDetailID + "/ReferenceMaterial/" + item.FilePath");
ViewBag.path = filepath;
return View();
}
相关文章:
- 如何使用javascript调用Php文件
- 从HTML调用typescript文件中的函数
- 在ES6中,模块将导致多个网络调用,因为两个模块不能在单个文件中定义
- Ajax调用返回当前html页面,而不是请求的文件
- 如何调用extern.js文件中的函数
- 是否可以从html中的javascript调用.vbs文件
- jQueryAjax调用在单独的.js文件中不起作用
- 什么's使用脚本标记调用文件和ajax之间的区别
- 包含的文件中引发引用错误..除非调用文件包含慢速代码
- Grunt-获取当前调用文件夹,而不是gruntfile当前文件夹
- 在 html 中使用 PHP 来调用文件
- 从 html 页面调用文件 jQuery 文件
- 从本地机器调用文件作为web服务Javascript
- MVC ActionResult调用文件下载时mouseup上的图像损坏
- 在html中单击锚点时调用文件下载servlet
- 使用AJAX从从JQuery调用的文件中调用文件
- 如何在javascript/jquery中定期调用文件
- 允许AJAX调用文件中的javascript
- 如何用c#手动调用文件上传控件的onchange事件
- 如何在rails中调用文件(xyz.js.erb)中的Java脚本函数