Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Internet explorer 8 为什么Internet Explorer用空格拒绝我的文件名?_Internet Explorer 8_Filenames - Fatal编程技术网

Internet explorer 8 为什么Internet Explorer用空格拒绝我的文件名?

Internet explorer 8 为什么Internet Explorer用空格拒绝我的文件名?,internet-explorer-8,filenames,Internet Explorer 8,Filenames,我有一堆pdf文件,它们的名称中有空格,它们显示在iFrame中以及使用window.open(而不是同时)的新窗口中 除了IE8抛出一个文件未找到错误外,这两种方法都可以正常工作。移除这些空间,它们在IE8中就可以正常工作 我需要在文件名中保留空格,所以我尝试使用escape(filename);这将使用转义键%20重新拼贴空格。这也不行 我已经尝试了我能想到的任何东西,或者谷歌能让IE8接受这些空间,但没有任何效果 有什么建议吗?我可以删除空格进行测试,但在现实世界中,从文件系统中的pdf文

我有一堆pdf文件,它们的名称中有空格,它们显示在iFrame中以及使用window.open(而不是同时)的新窗口中

除了IE8抛出一个文件未找到错误外,这两种方法都可以正常工作。移除这些空间,它们在IE8中就可以正常工作

我需要在文件名中保留空格,所以我尝试使用escape(filename);这将使用转义键%20重新拼贴空格。这也不行

我已经尝试了我能想到的任何东西,或者谷歌能让IE8接受这些空间,但没有任何效果

有什么建议吗?我可以删除空格进行测试,但在现实世界中,从文件系统中的pdf文件名中删除空格目前不是一个选项

这是我正在使用的代码

var file = "pdfs/this file name has spaces.pdf";
file = escape(file);  //this does not fix the problem

//to display in a new window or tab...
window.open(file);

//to display in my iFrame...
$('.viewer .ifrm').attr('src', file);


谢谢。

使用encodeURI而不是escape

使用encodeURI而不是escape

显示一些代码(并开始接受一些答案):)如何显示pdf?在试图显示文件名之前,您是否解码了文件名?我已将用于此目的的代码添加到我的问题中。乔希,你说的“解码”是什么意思?我正在使用转义功能将空格替换为转义键。这就是您的意思吗?您是否尝试将空格编码为
+
?Shaquin-您的意思是将空格%2B替换为+字符的url编码引用?显示一些代码(并开始接受一些答案):)您如何显示pdf?在试图显示文件名之前,您是否解码了文件名?我已将用于此目的的代码添加到我的问题中。乔希,你说的“解码”是什么意思?我正在使用转义功能将空格替换为转义键。这就是您的意思吗?您是否尝试将空格编码为
+
?Shaquin-您的意思是将空格%2B替换为+字符的url编码引用?我尝试过,但不起作用。我就这样试过。。。var file=“'file name.pdf'”。这就是你的意思吗?encodeURI()与escape()的作用相同,将空格替换为%20。除IE8外,其他功能均可使用。到目前为止,我能让它工作的唯一方法是删除所有空格。您是否尝试使用本地服务器,还是直接在浏览器中打开html+js文件?实际上,我正在测试各种方法。Safari、Firefox、Mac OS上的Chrome和XP虚拟机(fusion)中的IE8,站点在Mac上本地服务。我也有一个Win 2008服务器(windows box)场外的网站。我还在连接到这两个站点的远程windows设备上的浏览器中进行测试。IE8在所有情况下都会失败。忘记提到Mac站点是使用Mac外部IP地址提供服务的。Win 2008服务器是一个域服务器。我不确定这里的术语是否正确。。。要访问Mac服务器,我们在Win2008服务器fubar.com/mysite/index.html上使用xxx.xxx.xxx/misite/index.html。我尝试过,但没有成功。我就这样试过。。。var file=“'file name.pdf'”。这就是你的意思吗?encodeURI()与escape()的作用相同,将空格替换为%20。除IE8外,其他功能均可使用。到目前为止,我能让它工作的唯一方法是删除所有空格。您是否尝试使用本地服务器,还是直接在浏览器中打开html+js文件?实际上,我正在测试各种方法。Safari、Firefox、Mac OS上的Chrome和XP虚拟机(fusion)中的IE8,站点在Mac上本地服务。我也有一个Win 2008服务器(windows box)场外的网站。我还在连接到这两个站点的远程windows设备上的浏览器中进行测试。IE8在所有情况下都会失败。忘记提到Mac站点是使用Mac外部IP地址提供服务的。Win 2008服务器是一个域服务器。我不确定这里的术语是否正确。。。为了访问Mac服务器,我们在Win2008服务器fubar.com/mysite/index.html上使用xxx.xxx.xxx/misite/index.html。