javascript兼容性问题

时间:2010-12-09 23:01:28

标签: javascript asp.net compatibility

我一直试图在我的某个网络应用程序中找到一个奇怪的错误。以下是事件序列:

  1. 用户点击网页中的链接 它会触发使用a的javascript window.showModalDialog打开一个URL
  2. 这个网址是一个asp.net页面 使用二进制写入来显示PDF
  3. 当我在Firefox中运行它时它工作正常。当我在IE中运行它时,页面上没有任何显示,它永远不会出错。

    如果我直接转到FF或IE中的asp.net页面的url,它可以正常工作。是否存在可能导致此问题的window.showModalDialog问题?

    aspx页面加载代码:

        Dim req As WebRequest = WebRequest.Create("...")
        Dim resp As WebResponse = req.GetResponse()
        Dim rdr As BinaryReader = New BinaryReader(resp.GetResponseStream())
        Dim pdfByte() As Byte = rdr.ReadBytes(Convert.ToInt32(resp.ContentLength))
        Response.Clear()
        Response.ContentType = "application/pdf"
        Response.BinaryWrite(pdfByte)
        Response.Flush()
        Response.End()
    

    使用Javascript:

    window.showModalDialog(sUrl,'',sFeatures)
    

    我发布的javascript是问题发生的地方。如果您需要更多,请告诉我。

3 个答案:

答案 0 :(得分:0)

我记得在IE浏览器中页面的名称可能会导致问题,我在几年前曾写过http://amrelgarhytech.blogspot.com/2008/06/windowopen-invalid-argument.html

但我不确定这是不是你的问题

答案 1 :(得分:0)

我似乎IE,模态对话框和PDF存在问题:

http://technicalsol.blogspot.com/2008/06/pdf-in-modal-dialog-box.html

解决方法似乎是将PDF嵌入到iFrame中。

答案 2 :(得分:0)

我最终将window.showModalDialog更改为window.open。我发现其他一些有这个问题,但没有真正的解决方案让它与showModalDialog一起工作。