Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用js和asp.net打印多个文件_Javascript_Asp.net_Vbscript - Fatal编程技术网

Javascript 如何使用js和asp.net打印多个文件

Javascript 如何使用js和asp.net打印多个文件,javascript,asp.net,vbscript,Javascript,Asp.net,Vbscript,我不得不运行一些服务器端代码,通过javascript打开多个文件,效果如下: 假设r只是一个具有一些数据的读取器: If r IsNot Nothing Then Dim sb As New StringBuilder() Do While r.Read() 'added below to replace \\ with http:// strURL = Replace(CType(r("AttachmentLink"), String), "\

我不得不运行一些服务器端代码,通过javascript打开多个文件,效果如下:

假设r只是一个具有一些数据的读取器:

If r IsNot Nothing Then
    Dim sb As New StringBuilder()
    Do While r.Read()
        'added below to replace \\ with http://
        strURL = Replace(CType(r("AttachmentLink"), String), "\\myServer\MyFolder\MyPath", "http://MyFolder/MyPath", , , CompareMethod.Text)
        'added below to replace \ with /
        strURL = Replace(strURL, "\", "/")
        sb.AppendLine("window.open('" & strURL & "', '_blank', 'menubar=no');")
    Loop
    ClientScript.RegisterStartupScript(Me.GetType(), "popup", sb.ToString(), True)
End If
这对于打开多个附件非常有用。。。 但现在我不仅需要打开它们,还需要打印它们

所以我试着把上面的内容改一下:

Do While r.Read()
    'added below to replace \\ with http://
    strURL = Replace(CType(r("AttachmentLink"), String), "\\myServer\MyFolder\MyPath", "http://MyFolder/MyPath", , , CompareMethod.Text)
    'added below to replace \ with /
    strURL = Replace(strURL, "\", "/")
    sb.AppendLine("var oWindow = window.open('" & strURL & "', '_blank', 'menubar=no');")
    sb.AppendLine("oWindow.print();")
    sb.AppendLine("oWindow.close();")
Loop
ClientScript.RegisterStartupScript(Me.GetType(), "popup", sb.ToString(), True)
这当然不起作用,没有错误,但什么也没有发生。我希望打开每个窗口,并从javascript弹出一个打印对话框


有什么想法吗?

由于浏览器javascript安全原因,您不允许打印子窗口

您可以做的是将加载脚本添加到要打印的页面中,该脚本将从该子窗口启动打印

从某种意义上讲,这表明了一种不同的观点:

  • 它创建一个
    iframe
  • 在其中加载一些内容,并且
  • 添加
    onload
    事件以打印它

  • 呃……有没有办法解决这个问题,因为我见过有人发表这样的文章:我不知道在我的情况下如何处理这个问题:(