我在页面中内嵌了一个Frame用来显示pdf文件,现在是在本地连接某个特定文件夹里面的pdf文件:
function setFrameContent()
{
var id = window.event.srcElement.id;
var frame = document.getElementById("PDFContent");
alert(fileNames[id]);
frame.src = "../../"+decodeURI(encodeURI(fileNames[id]))+".pdf";
}
运行时,alert能正确显示文件路径,但是页面提示错误
/linhai/%E5%9F%BA%E4%BA%8E%E5%88%86%E5%8C%BA%E5%9F%9F%E7%9A%84%E5%85%83%E8%83%9E%E8%87%AA%E5%8A%A8%E6%9C%BA%E5%8F%8A%E5%9F%8E%E5%B8%82%E6%89%A9%E5%BC%A0%E6%A8%A1%E6%8B%9F.pdf
不知道哪里出问题了,请教各位大大

解决方案 »

  1.   

    decodeURI(encodeURI(fileNames[id]))转码后立刻解码? 这是什么用法?
      

  2.   

    澄清一下,应该是frame.src = "../../"+fileNames[id]+".pdf";那个是我乱试的
      

  3.   

    encodeURI decodeURI只支持utf-8格式的字符,查看下你的编码格式
      

  4.   

    我用的是UTF-8的,问题好像不是出在这里的,alert显示的路径是正确的,但是错误信息里面是
    HTTP Status 404 - /linhai/%E5%9F%BA%E4%BA%8E%E5%88%86%E5%8C%BA%E5%9F%9F%E7%9A%84%E5%85%83%E8%83%9E%E8%87%AA%E5%8A%A8%E6%9C%BA%E5%8F%8A%E5%9F%8E%E5%B8%82%E6%89%A9%E5%BC%A0%E6%A8%A1%E6%8B%9F.pdf
      

  5.   

    如果把frame.src = "../../"+"基于元胞自动机的输电规划GIS路径决策"+".pdf";仍然是那个错误
    HTTP Status 404 - /linhai/%E5%9F%BA%E4%BA%8E%E5%85%83%E8%83%9E%E8%87%AA%E5%8A%A8%E6%9C%BA%E7%9A%84%E8%BE%93%E7%94%B5%E8%A7%84%E5%88%92GIS%E8%B7%AF%E5%BE%84%E5%86%B3%E7%AD%96.pdf
    这说明什么问题?