如何在javascript中打开pdf文件新浏览器窗口

如何在javascript中打开pdf文件新浏览器窗口,javascript,Javascript,我需要在“新浏览器”选项卡中打开pdf文件。如何做到这一点。 我在用 var docLocation = '../downloads/doc.pdf'; window.open(docLocation,"resizeable,scrollbar"); 但它会打开浏览器的下载对话框。如何实现这一点?显示pdf的能力完全取决于用户是否有可用于显示pdf的插件,以及是否设置了以这种方式处理pdf文件的设置 有一些flash小部件可用于向用户显示pdf内容,但要直接回答您的问题,您无法控制用户选择如

我需要在“新浏览器”选项卡中打开pdf文件。如何做到这一点。 我在用

var docLocation = '../downloads/doc.pdf';
window.open(docLocation,"resizeable,scrollbar"); 

但它会打开浏览器的下载对话框。如何实现这一点?

显示pdf的能力完全取决于用户是否有可用于显示pdf的插件,以及是否设置了以这种方式处理pdf文件的设置

有一些flash小部件可用于向用户显示pdf内容,但要直接回答您的问题,您无法控制用户选择如何处理pdf文件的首选项。

此处

    <a href="javascript:void(0);" onclick="javascipt:window.open('YourPDF.pdf');" class="popup">Clic to open.</a>


您需要在pc中安装reader,确保内容类型标题为“application/pdf”,而不是“application/octet stream”

我尝试了上述所有解决方案,但没有一个对我有效,我在mvc 3上运行javascript,在ie、Chrome和Firefox上安装razor、adobe 11作为附加组件。下面是我为了让它在上述所有浏览器上运行所做的工作

制作PDF控制器,从javascript调用,如下所示

在主视图的代码中:

    var URL_OPEN_REPORT_PDF                   = "@Url.Content("~/Report/OpenPDF/")";
javascript:

    var sURL = URL_OPEN_REPORT_PDF;
    sURL = AddURLParameter(sURL, "ReportArchive", moControl.treeOrganization.getUserData(sItemUI, "reportarchive"));
    window.open(sURL);
controller ReportController.cs:

    [Authorize]
    [HttpGet]
    public ActionResult OpenPDF(string ReportArchive)
    {
        PDFResult oPdfResult = new PDFResult();

        ReportArchive oReportArchive;

        var serializer = new JavaScriptSerializer();
        oReportArchive = serializer.Deserialize<ReportArchive>(ReportArchive);
        string FilePath = Server.MapPath(string.Format("~/Content/Reports/{0}", oReportArchive.FileName));

        WebClient User = new WebClient();

        Byte[] FileBuffer = User.DownloadData(FilePath);

        if (FileBuffer != null)
        {
            oPdfResult.Length = FileBuffer.LongLength;
            oPdfResult.FileBuffer = FileBuffer;
            Response.BinaryWrite(FileBuffer);

        } return View("PDF", oPdfResult);
    }

此代码将在
JavaScript

var pdf = MyPdf.pdf;
window.open(pdf);
打开窗口的函数如下所示:

function openPDF(pdf){
  window.open(pdf);
  return false;
}

投票被否决,因为这个答案已经过时了。
var pdf = MyPdf.pdf;
window.open(pdf);
function openPDF(pdf){
  window.open(pdf);
  return false;
}