2013-07-02 80 views
0

我一直有一个噩梦获得一种方法来打开文件的工作,直到我在Chrome中测试过程,并发现它的工作,所以它只能是一个IE内的问题。不幸的是,有些用户肯定会使用IE,所以我仍然需要解决这个问题。下面是我得到了什么:打开文件 - Chrome浏览器和IE浏览器

Protected Sub OpenFile(filePath As String) 

    If dlCvFlName Is Nothing Or dlCvFlPath Is Nothing Then 
     lblError.Text = 'The Candidate does not have a CV uploaded' 
    Else 
     Dim script As String = "window.open('" & filePath & "', 'Popup', '_newtab');" 
     Page.ClientScript.RegisterStartupScript(Me.[GetType](), "open", script, True) 
    End If 
End Sub 

OpenFile("www.domain.com/file/document.doc") 

当我在Chrome运行此文件被成功打开,但绝对没有发生在IE浏览器...

请帮助...?

+0

您是否尝试将http://添加到filePath? – Alexander

+0

是的,我在实际的代码中,我忘了把它放在这里...虽然它在Chrome中工作正常,但它现在真的让我感到困扰... – Sultan

回答

1

我相信问题是您的_newtab名称 - 通常不支持。

选项应该是:

_blank - URL被装入一个新的窗口。这是默认

_parent - URL被加载到父框架

_self - URL替换当前页面

_top - URL替换可装载

删除_newtab,然后再试一次任何框架集..

此外

因为用户实际上并没有采取这种行动 - 我们在注入javascript来强制在page_load上弹出一个弹出窗口 - 浏览器的弹出窗口拦截器肯定会拦截它。

你最好将window.open方法附加到按钮上,并在页面上激发javascript,而不是回发并注入它。

+0

我试过了,我认为它可能工作,但仍然有同样的问题。当我点击按钮来运行事件光标简要地有一个有趣的小惊叹号出现,但没有消息... Grrrr ... – Sultan

+0

正确的,这是IE中的弹出式窗口拦截器,任何建议我如何能得到这个.. ? – Sultan

+0

你可以做的唯一事情就是执行你的window.open而不用做回发部分。 I.E在页面上准备好您的代码。然后点击一个按钮来触发该代码。通过这种方式,用户正在操作弹出窗口,并且不会在页面加载时触发。这将是最好的机会..弹出窗口拦截器是这样的事情的痛苦。 – Darren

相关问题